Cách cài đặt npm trong alpine linux


66

Vì vậy, tôi không thể cài đặt npm trong alpine linux. Tôi nghĩ có lẽ tôi chỉ có thể làm một apk add npmnhưng dường như apk search npmkhông trả lại gì, ngay cả sau khi a apk update. Tôi đang thử nghiệm tất cả những điều này từ hình ảnh docker nginx: alpine, tức làdocker run -it nginx:alpine /bin/sh

Chỉnh sửa 1: Tôi có thể thấy cách xây dựng nodejs: alpine dockerfile node, nhưng tôi không hiểu cách nó xây dựngnpm

Chỉnh sửa 2: bây giờ tôi biết rằng npm được cài đặt với nodejs trên alpine và chỉ để làm rõ, lý do điều này không rõ ràng với tôi lúc đầu là trên Ubuntu 14.04 sudo apt-get install nodejsvẫn sẽ yêu cầu sudo apt-get install npm(cài đặt các gói phát triển, ví dụ gcc)

Câu trả lời:


29

Đối với các phiên bản gần đây của Alpine (v3.8 +), cách chính xác để cài đặt nodejs với npm là:

apk add --update nodejs npm

Tuy nhiên, npmgói phụ thuộc vào nodejs, vì vậy bạn có thể làm:

apk add --update npm

Lưu ý: vì Alpine 3.8 không có gói nodejs-npm.


1
Đây phải là câu trả lời được chấp nhận ngay bây giờ
Omar S.

173

Tôi đã có một vấn đề với người quản lý apk.

Gói nodejs không còn cài đặt NPM nữa (xem pkgs.alpinelinux.org ) Bạn phải cài đặt nodejs-npm

apk add --update nodejs nodejs-npm

Tôi không hiểu được nó. Npm phải là phụ thuộc cốt lõi của nút, npm cài đặt npm @ mới nhất có thể bị ảnh hưởng bởi chính phiên bản nút để chúng không tương thích ...
dmi3y

4
Đây phải là câu trả lời được chấp nhận với hình ảnh núi cao mới nhất. npm không được cài đặt cho tôi chỉ với nodejs
kevinc

Đồng ý, đây thường là một phụ thuộc, nhưng nếu bạn đang cài đặt nodejs một cách thủ công (tôi cũng đã cài đặt nó từ repo 'edge' vì hiện tại 6.7 không được chấp nhận) thì bạn cần phải cài đặt riêng biệt nodejs-npm : apk add nodejs = 6.11.2-r0 nodejs-NPM = 6.11.2-r0 --update-cache --repository dl-cdn.alpinelinux.org/alpine/edge/main --allow-không tin cậy
Anton Babushkin

5
Câu hỏi phụ: trong khi câu trả lời này hoạt động tốt, tôi dường như không thể tìm thấy nodejs-npmtrên pkgs.alpinelinux.org/packages . Có npmgói nào cũng làm được việc. Có phải đó là một loại bí danh?
Tad Lispy

29

Tôi có thể sai, nhưng tôi nghĩ npmthực sự là một sự phụ thuộc nodejs.

Tôi chưa bao giờ thấy bất kỳ hương vị của trình quản lý gói cài đặt npmmột mình. Luôn luôn dường như được đóng gói với yum install nodejs, hoặc apt-get install nodejs, hoặc apk add --update nodejs.


1
Chào mừng đến với Siêu người dùng. Tôi không biết liệu bạn có đúng không, nhưng chỉ là một số phản hồi nhanh. Câu trả lời được dự định là giải pháp dứt khoát. Với một ít đại diện hơn, bạn có thể đăng bình luận với một phỏng đoán hữu ích. Đối với một bài trả lời, hãy nghiên cứu nó trước, để bạn chắc chắn về thông tin, sau đó đăng. Và sau đó bạn có thể trích dẫn một tài liệu tham khảo, điều này làm cho một câu trả lời thậm chí tốt hơn.
fixer1234

16
điều này không còn được chấp nhận nữa, vì apk không cài đặt npm theo mặc định khi cài đặt nodejs
Panthro

nâng cao chỉ vì không ai cung cấp câu trả lời tốt hơn
Alexander Mills

1
Tôi tin rằng đó là 'apk add --update nodejs-npm' cho Alpine 3.6+
Ali Cheaito

8

apk update && apk add nodejscài đặt npmnhị phân cho tôi.


không còn nữa ....
Panthro

1
Nâng cao. Vẫn hoạt động
bholagabbar

1
Tranh chấp nếu một cái gì đó hoạt động nên bao gồm các phiên bản của mọi thứ ...
Eric Swanson

4

Vấn đề ở đây là một vấn đề gần đây và là do những thay đổi trong kho gói của Alpine giữa v3.5 và v3.6 hoặc cạnh.

Trong v3 nodejsbao gồm npm Trong v3.6 nodesjskhông bao gồm npm và nodejs-npmgói mới tồn tại.

Xem ở đây cho các gói Alpine. Để xem phiên bản nào của gói bạn đang xem từ nội dung của/etc/apk/repositories



0

Tôi vừa mới làm điều này và có thể xác nhận rằng npm không phải là một phụ thuộc của node.js (ít nhất là ngay bây giờ trên alpine) và phải được cài đặt riêng biệt

I E apk add --update npm

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.