ฉันจะติดตั้ง npm ในวันที่ 17.10 ได้อย่างไร


11

ฉันแค่ต้องการติดตั้ง npm ผ่านเทอร์มินัลและตอนนี้ฉันก็ติดอยู่กับการพึ่งพาบางอย่าง

มันต้องการให้ฉันติดตั้งการอ้างอิงบางอย่างเช่น:

libssl1.0-dev
nodejs-dev
node-gyp

แม้ว่าฉันจะพยายามติดตั้งสิ่งเหล่านี้ก่อนมันก็บอกฉันว่าฉันต้องการรุ่นก่อน

อินสแตนซ์สุดท้ายของการพึ่งพาlibssl-devและนี่ดูเหมือนว่าติดตั้งแล้ว

เป้าหมายคือการติดตั้ง npm เพื่อให้ส้อมอิเล็กตรอนนี้ทำงานในระบบของฉัน

ขอบคุณสำหรับความช่วยเหลือ


@ karel หมายความว่าฉันไม่มีโอกาสติดตั้งใน 17.10 และฉันถูกบังคับให้ลดระดับเป็น 16.04 อีกครั้งหรือไม่
Deniz

ฉันอยากรู้วิธีการติดตั้ง NPM บนระบบของฉัน ฉันไม่สามารถใช้งานได้ง่าย "sudo apt install npm" เพราะปัญหาที่ฉันเขียนไว้ในคอมเม้นท์ครั้งแรก
นิซ

คำตอบ:


9

หมายเหตุ: คำตอบนี้ได้รับการอัพเดตตั้งแต่เมื่อมีการโพสต์เป็นครั้งแรกเนื่องจากขณะนี้มีวิธีที่ดีกว่าในการติดตั้ง npm เวอร์ชันล่าสุดซึ่งมีอยู่แล้วภายในพร้อมกับแพ็คเกจ snap snap สำหรับการติดตั้ง Node.js หลังจากรันคำสั่งด้านล่างที่ทำงานอยู่npm -vจะแสดงว่ามีการติดตั้งและใช้งานเวอร์ชันล่าสุดของ npm


Node.js มีให้ในรูปแบบแพ็คเกจ snap ใน Ubuntu ทุกรุ่นที่รองรับในปัจจุบัน เฉพาะกับ Node.js นักพัฒนาสามารถเลือกจากรุ่นที่สนับสนุนในปัจจุบันหนึ่งรายการขึ้นไปและรับการอัปเดตอัตโนมัติอัตโนมัติโดยตรงจาก NodeSource ปัจจุบันมี Node.js รุ่น 6, 8, 9, 10, 11, 12 และ 13 โดย Snap Snap จะได้รับการอัปเดตภายในไม่กี่ชั่วโมงหรือไม่กี่นาทีจากรุ่น Node.js

โหนดสามารถติดตั้งได้ด้วยคำสั่งเดียวตัวอย่างเช่น:

sudo snap install node --classic --channel 11/stable # also install snapd in 14.04 

โหนดสแน็ปสามารถเข้าถึงได้โดยคำสั่งnodeตัวอย่างเช่น:

$ node -v  
v11.5.0

เวอร์ชันล่าสุดของ npm จะถูกติดตั้งเป็นส่วนหนึ่งของโหนด snap ควรเรียกใช้ npm นอกการจำลองโหนดในเชลล์ปกติของคุณ หลังจากติดตั้งโหนด snap ให้รันคำสั่งต่อไปนี้เพื่อเปิดใช้งานการตรวจสอบการอัพเดต npm:

sudo chown -R $ USER: $ (id -gn $ USER) / home / your-username /.config

แทนที่ your-usernameในคำสั่งข้างต้นด้วยชื่อผู้ใช้ของคุณเอง จากนั้นเรียกใช้npm -vเพื่อตรวจสอบว่าเวอร์ชันของ npm เป็นรุ่นล่าสุดหรือไม่ จากตัวอย่างที่ฉันตรวจสอบว่า npm เป็นรุ่นล่าสุดให้ตรวจสอบเวอร์ชันของแพ็กเกจที่ติดตั้งแล้วที่ชื่อ yarn ด้วยคำสั่งnpm list yarnจากนั้นอัพเดตแพ็กเกจ yarn ที่มีอยู่เป็นเวอร์ชันล่าสุดด้วยคำสั่งnpm update yarn

ผู้ใช้สามารถสลับระหว่างเวอร์ชันของ Node.js ได้ตลอดเวลาโดยไม่จำเป็นต้องมีเครื่องมือเพิ่มเติมเช่น nvm (Node Version Manager) ตัวอย่างเช่น:

sudo snap refresh node --channel=10/stable

ผู้ใช้สามารถทดสอบ Node.js รุ่นที่มีเลือดออกซึ่งสามารถติดตั้งได้จากช่องทางขอบล่าสุดซึ่งกำลังติดตาม Node.js เวอร์ชัน 12 โดยการสลับกับ:

sudo snap switch node --edge

วิธีการนี้เหมาะสำหรับผู้ใช้ที่ยินดีเข้าร่วมในการทดสอบและการรายงานบั๊กต้นน้ำ

กำหนดการ LTS ของ Node.js

ปล่อยชื่อรหัสสถานะ LTS เริ่มการบำรุงรักษาเริ่มต้นสิ้นสุดการบำรุงรักษา
6.x โบรอนที่ใช้งาน 2016-10-18 เมษายน 2018 เมษายน 2019
7.x ไม่มี LTS              
8.x Active Carbon 2017-10-31 เมษายน 2019 ธันวาคม 2019
9.x ไม่มี LTS              
10.x ใช้งาน Dubnium ตุลาคม 2561 เมษายน 2563 เมษายน 2564  
11.x ไม่มี LTS 2019-04-01 2019-06-30
12.x 2019-10-22 2021-04-01 2022-04-01
13.x ไม่มี LTS 2020-04-20 2020-06-01

ไม่ได้ผลสำหรับฉัน
Jonathan

แพ็คเกจ snap แย่มากสำหรับ SSD พวกเขาได้รับการปรับปรุงบ่อยครั้งทำให้เกิดการอ่าน / เขียนอย่างหนักบนดิสก์ซึ่งไม่เหมาะกับอายุการใช้งานของ SSD ฉันหลีกเลี่ยงพวกเขาให้มากที่สุด นอกจากนี้ยังมีปัญหาด้านความปลอดภัยกับ Snaps ดังนั้นโปรดระมัดระวัง
Seth Bergman

2

ฉันมีปัญหาเดียวกัน libssl มีปัญหาเนื่องจากแพ็คเกจจำนวนมากต้องการเวอร์ชันที่ต่างกัน ผู้สร้างปัญหาอันดับต้น ๆ สำหรับฉันคือ Spotify, Viber, DotNet Core, php5.6 (ระบบเดิม)

อย่างไรก็ตามวิธีนี้ดูเหมือนจะได้ผล:

จากคำตอบของผู้นำโจนาธานถ้าคุณดูสคริปต์ที่ดาวน์โหลดคุณจะเห็นว่ามี 2 ประเด็นหลักคือที่เก็บและกุญแจ

ด้วยเหตุผลบางอย่างหลังจากรันคำสั่งเหล่านั้นแล้ว nodejs ยังคงอ้างถึงคำสั่งในที่เก็บของ Ubuntu อย่างเป็นทางการและเป็นรุ่นเก่าโดยมีข้อกำหนดที่ขัดแย้งกันสำหรับ libssl

เพิ่มด้วยตนเองเพื่อผลลัพธ์ที่เชื่อถือได้ (เป็น root):

echo 'deb https://deb.nodesource.com/node_9.x artful main' > /etc/apt/sources.list.d/nodesource.list
curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -

หลังจากนั้นเพียงapt-get updateและจากนั้นapt-get install nodejs

หลังจากนั้นคุณจะมี npm เช่นกันโดยไม่ต้องติดตั้งอะไรเพิ่มเติม

โปรดทราบว่าสิ่งนี้จะติดตั้ง Nodejs 9.0 แต่ฉันแน่ใจว่าวิธีเดียวกันนี้ใช้ได้กับเวอร์ชันอื่นด้วย คุณเพียงแค่ต้องเปลี่ยนหมายเลขรุ่นในแหล่งเก็บข้อมูล/etc/apt/sources.list.d/nodesource.list


1

อันดับแรกดูหมายเลขรุ่นล่าสุดได้ที่นี่: https://github.com/nodesource/distribution/tree/master/deb

ในกรณีของเรามันเป็น setup_9.x

sudo apt-get install python-software-properties curl
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install nodejs

พิสูจน์ว่าติดตั้งแล้ว

npm -v

ที่มา: https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/

แก้ไข : เพิ่ม 'curl' ในการอ้างอิงเริ่มต้น


1

n การติดตั้ง

Node และ NPM bashติดตั้งกับหนึ่งบรรทัดของ

การติดตั้ง n , ตัวจัดการเวอร์ชัน Node.js บนแพลตฟอร์มที่คล้าย Unix โดยไม่จำเป็นต้องติดตั้ง Node.js ก่อน นอกจากนี้ยังติดตั้งสคริปต์ n-update สำหรับการอัพเดตตามความต้องการในภายหลังnและn-uninstallสำหรับการถอนการติดตั้ง

กรณีที่ง่ายที่สุดคือการติดตั้ง n พร้อมรับคำยืนยันพร้อมกับการติดตั้ง LTS Node.js เวอร์ชั่นล่าสุด:

curl -L https://git.io/n-install | bash

นี่เป็นวิธีที่ง่ายที่สุดในการเริ่มต้นใช้งานทั้ง n และ Node.js - แม้ว่าคุณต้องการติดตั้งเฉพาะ LTS ล่าสุด (การสนับสนุนระยะยาว) รุ่น Node.js โดยไม่มีแผน (ติดตั้งทันที) เพื่อติดตั้งหลายรายการ รุ่น ส่วนที่ดีที่สุดคือคุณสามารถอัปเดตเวอร์ชันโหนดได้ทันที มันต้องเป็นเครื่องมือโหนดที่ฉันโปรดปราน NVM คล้ายกัน แต่nเป็นความชอบของฉัน


0

นอกจากนี้คุณสามารถใช้ NVM ซึ่งเป็น Node Version Manager ที่อนุญาตให้สลับระหว่างรุ่น Node ที่แตกต่างกันในวิธีที่ง่ายมาก เพียงแค่เรียกใช้คำสั่งต่อไปนี้:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

command -v nvm

จากนั้นเปิดเทอร์มินัลของคุณใหม่และดำเนินการ:

nvm install lts/*

ที่จะดาวน์โหลดซอร์สโค้ด Nodejs และทำการติดตั้งให้คุณ

นอกจากนี้หนึ่งในประโยชน์หลักของ NVM คือความสามารถในการติดตั้งแพ็กเกจทั่วโลกโดยไม่ต้องใช้ sudo

หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับ NVM ให้ตรวจสอบ Github Repo ของพวกเขา:

https://github.com/creationix/nvm


หากติดตั้งแพคเกจ Node.js เป็นไปได้ที่จะสลับไปมาระหว่าง Node.js รุ่นต่างๆโดยไม่จำเป็นต้องมีเครื่องมือเพิ่มเติมเช่น nvm
karel

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