Cara menginstal npm di linux alpine


66

Jadi saya tidak bisa menginstal npm di linux alpine. Saya pikir mungkin saya bisa melakukan apk add npmtetapi ternyata apk search npmtidak mengembalikan apa pun, bahkan setelah a apk update. Saya bereksperimen dengan semua ini dari gambar nginx: alpine docker, yaitudocker run -it nginx:alpine /bin/sh

Sunting 1: Saya bisa melihat bagaimana nodejs: alpine dockerfile membangun node, tapi saya tidak mengerti bagaimana itu membangunnpm

Sunting 2: sekarang saya tahu bahwa npm terinstal dengan nodejs pada alpine, dan hanya untuk klarifikasi, alasan ini pada awalnya tidak jelas bagi saya adalah bahwa pada ubuntu 14.04 a sudo apt-get install nodejsmasih memerlukan a sudo apt-get install npm(yang menginstal paket pengembangan misalnya gcc)

Jawaban:


29

Untuk versi terbaru Alpine (v3.8 +) cara yang benar untuk menginstal nodejs dengan npm adalah:

apk add --update nodejs npm

Namun, npmpaket tergantung pada nodejs, sehingga Anda dapat melakukan:

apk add --update npm

Catatan: karena Alpine 3.8 tidak ada paket nodejs-npm.


1
Ini seharusnya jawaban yang diterima sekarang
Omar S.

173

Saya memiliki masalah dengan pengelola apk.

Paket nodejs tidak lagi menginstal NPM (lihat pkgs.alpinelinux.org ) Anda harus menginstal nodejs-npm

apk add --update nodejs nodejs-npm

Saya tidak mengerti. Npm harus menjadi inti ketergantungan node, npm instal npm @ latest mungkin dipengaruhi oleh versi node itu sendiri sehingga mereka tidak akan kompatibel ...
dmi3y

4
Ini harus menjadi jawaban yang diterima dengan gambar alpine terbaru. NPM tidak diinstal untuk saya dengan hanya nodejs
kevinc

Setuju, ini biasanya ketergantungan, tetapi jika Anda menginstal nodejs secara manual (saya menginstalnya dari repo 'edge' juga karena seperti yang sekarang 6,7 sudah ditinggalkan) maka Anda perlu menginstal nodejs-npm secara terpisah Inilah yang saya jalankan : apk tambahkan nodejs = 6.11.2-r0 nodejs-npm = 6.11.2-r0 --update-cache --repository dl-cdn.alpinelinux.org/alpine/edge/main --allow-unrusted
Anton Babushkin

5
Pertanyaan sampingan: sementara jawaban ini berfungsi dengan baik, saya sepertinya tidak dapat menemukannya nodejs-npmdi pkgs.alpinelinux.org/packages . Ada npmpaket yang juga berfungsi. Apakah itu semacam alias?
Tad Lispy

29

Saya bisa saja salah, tetapi saya pikir npmsebenarnya adalah ketergantungan nodejs.

Saya belum pernah melihat rasa instal paket manajer npmsaja. Tampaknya selalu dikemas dengan yum install nodejs, atau apt-get install nodejs, atau apk add --update nodejs.


1
Selamat datang di Pengguna Super. Saya tidak tahu apakah Anda benar, tetapi hanya umpan balik cepat. Jawaban dimaksudkan sebagai solusi definitif. Dengan sedikit rep, Anda dapat memposting komentar dengan tebakan yang membantu. Untuk posting jawaban, teliti terlebih dahulu, jadi Anda yakin dengan informasinya, lalu posting. Dan Anda kemudian dapat mengutip referensi, yang membuat jawaban yang lebih baik.
fixer1234

16
ini tidak lagi diterima, karena apk tidak menginstal npm secara default ketika menginstal nodejs
Panthro

terbalik hanya karena tidak ada yang memberikan jawaban yang lebih baik
Alexander Mills

1
Saya percaya ini adalah 'apk tambahkan --update nodejs-npm' untuk Alpine 3.6+
Ali Cheaito


4

Masalahnya di sini adalah yang baru dan karena perubahan dalam repositori paket Alpine antara v3.5 dan v3.6 atau edge.

Dalam v3.5 nodejstermasuk npm Dalam v3.6 nodesjstidak termasuk npm dan nodejs-npmpaket baru ada.

Lihat di sini untuk paket Alpine. Untuk melihat versi paket apa yang Anda tarik dari melihat isi/etc/apk/repositories



0

Saya baru saja melakukan ini dan dapat mengkonfirmasi bahwa npm bukan ketergantungan node.js (setidaknya sekarang di alpine) dan harus diinstal secara terpisah

yaitu apk add --update npm

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.