วิธีการติดตั้ง npm ใน alpine linux


66

ดังนั้นฉันไม่สามารถติดตั้ง npm ในอัลไพน์ลินุกซ์ ฉันคิดว่าบางทีฉันก็สามารถทำapk add npmแต่เห็นได้ชัดว่าผลตอบแทนอะไรแม้หลังจากที่apk search npm apk updateฉันกำลังทดลองทั้งหมดนี้จากภาพ nginx: alpine docker เช่นdocker run -it nginx:alpine /bin/sh

แก้ไข 1: ฉันสามารถดูวิธีการnodejs: อัลไพน์ dockerfile สร้างnodeแต่ฉันไม่เข้าใจว่ามันสร้างnpm

แก้ไข 2: ตอนนี้ฉันรู้แล้วว่า npm ได้รับการติดตั้งด้วย nodejs บนอัลไพน์และเพื่อความกระจ่างเหตุผลที่ฉันไม่เห็นชัดเจนในตอนแรกคือใน Ubuntu 14.04 a sudo apt-get install nodejsยังคงต้องใช้sudo apt-get install npm(ซึ่งติดตั้งแพคเกจการพัฒนาเช่นgcc)

คำตอบ:


28

สำหรับเวอร์ชันล่าสุดของ Alpine (v3.8 +) วิธีที่ถูกต้องในการติดตั้ง nodejs ด้วย npm คือ:

apk add --update nodejs npm

อย่างไรก็ตามnpmแพคเกจขึ้นอยู่กับnodejsดังนั้นคุณสามารถทำ:

apk add --update npm

หมายเหตุ: เนื่องจากอัลไพน์ 3.8 ไม่มีแพ็คเกจ nodejs-npm


1
นี่ควรเป็นคำตอบที่ยอมรับตอนนี้
Omar S.

172

ฉันมีปัญหากับผู้จัดการ apk

แพ็คเกจnodejsไม่ได้ติดตั้ง NPM อีกต่อไป (ดูpkgs.alpinelinux.org ) คุณต้องติดตั้ง nodejs-npm

apk add --update nodejs nodejs-npm

ฉันไม่เข้าใจมัน. Npm ควรเป็นการพึ่งพาหลักของโหนดการติดตั้ง npm @ npm ล่าสุดอาจได้รับผลกระทบจากรุ่นโหนดเองดังนั้นจึงไม่สามารถทำงานร่วมกันได้ ...
dmi3y

4
นี่ควรเป็นคำตอบที่ได้รับการยอมรับพร้อมภาพอัลไพน์ล่าสุด ไม่ได้ติดตั้ง npm สำหรับฉันโดยเพียงแค่ nodejs
kevinc

เห็นด้วยนี่เป็นเรื่องปกติแต่ถ้าคุณกำลังติดตั้ง nodejs ด้วยตนเอง (ฉันติดตั้งจาก repo 'edge' เช่นกันเพราะตอนนี้ 6.7 เลิกใช้แล้ว) คุณต้องติดตั้ง nodejs-npm แยกกันนี่คือสิ่งที่ฉันรัน : apk เพิ่ม nodejs = 6.11.2-r0 nodejs-npm = 6.11.2-r0 --update-cache --repository dl-cdn.alpinelinux.org/alpine/edge/main - ไม่น่าไว้วางใจ
Anton Babushkin

5
คำถามด้านข้าง: ในขณะที่คำตอบนี้ทำงานได้ดีฉันไม่สามารถดูเหมือนจะพบnodejs-npmในpkgs.alpinelinux.org/packages มีnpmแพ็คเกจที่ใช้งานได้ มันเป็นนามแฝงบางอย่าง?
ตาด Lispy

29

ฉันอาจจะผิด แต่ฉันคิดว่าเป็นจริงขึ้นของnpmnodejs

ฉันไม่เคยเห็นผู้จัดการแพคเกจติดตั้งรสชาติใด ๆnpmเลย เสมอดูเหมือนว่าจะมาพร้อมกับyum install nodejsหรือหรือapt-get install nodejsapk add --update nodejs


1
ยินดีต้อนรับสู่ Super User ฉันไม่รู้ว่าคุณพูดถูกหรือเปล่า รู้รอบมีจุดมุ่งหมายเพื่อเป็นทางออกที่ชัดเจน ด้วยตัวแทนอีกเล็กน้อยคุณสามารถโพสต์ความคิดเห็นด้วยการเดาที่เป็นประโยชน์ สำหรับการโพสต์คำตอบให้ทำการค้นคว้าก่อนเพื่อให้คุณมั่นใจในข้อมูลแล้วโพสต์ และจากนั้นคุณสามารถอ้างอิงการอ้างอิงซึ่งทำให้คำตอบที่ดียิ่งขึ้น
fixer1234

16
สิ่งนี้ไม่ได้รับการยอมรับอีกต่อไปเนื่องจาก apk ไม่ได้ติดตั้ง npm ตามค่าเริ่มต้นเมื่อติดตั้ง nodejs
Panthro

upvoted เพียงเพราะไม่มีใครให้คำตอบที่ดีกว่า
Alexander Mills

1
ฉันเชื่อว่าเป็น 'apk เพิ่ม - อัปเดต nodejs-npm' สำหรับอัลไพน์ 3.6+
Ali Cheaito

8

apk update && apk add nodejsติดตั้งnpmไบนารีสำหรับฉัน


ไม่อีกแล้ว ....
Panthro

1
upvoted ยังคงใช้งานได้
bholagabbar

1
การโต้แย้งว่าสิ่งที่ใช้งานได้ควรมีสิ่งต่าง ๆ ...
Eric Swanson

4

ปัญหาที่นี่เป็นปัญหาล่าสุดและเกิดจากการเปลี่ยนแปลงในที่เก็บแพคเกจของอัลไพน์ระหว่าง v3.5 และ v3.6 หรือขอบ

ใน v3.5 nodejsรวม npm ใน v3.6 nodesjsไม่รวม npm และมีnodejs-npmแพ็คเกจใหม่อยู่

ดูที่นี่สำหรับแพ็คเกจอัลไพน์ เพื่อดูว่าคุณกำลังดึงแพกเกจรุ่นใดจากการดูเนื้อหาของ/etc/apk/repositories


1

NPM มาพร้อมกับ nodejs ในกรณีที่คุณไม่สามารถติดตั้งโหนดด้วย apk เพิ่ม nodejs คุณต้องแก้ไขก่อน ขั้นตอนที่ 1 - คุณได้เพิ่มrepo ชุมชนลงในรายการ / etc / apk / repositories ของคุณหรือไม่ ถ้าไม่มันมีประโยชน์มากที่จะทำ รายละเอียดเพิ่มเติม: https://wiki.alpinelinux.org/wiki/Enable_Community_Repository


3
คุณสามารถอธิบายการลงคะแนนเสียงได้หรือไม่?
vizmi

0

ฉันเพิ่งจะทำสิ่งนี้และสามารถยืนยันได้ว่า npm ไม่ใช่การพึ่งพาของ node.js (อย่างน้อยตอนนี้บนอัลไพน์) และจะต้องติดตั้งแยกต่างหาก

กล่าวคือ apk add --update npm

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.