จะติดตั้ง NodeJS และ NPM เวอร์ชั่นล่าสุดได้อย่างไร?


203

ฉันสังเกตเห็นได้ที่https://nodejs.org/เว็บไซต์ที่ปัจจุบันโหนดที่ v 0.12.0

ใครช่วยให้ฉันรู้วิธีการติดตั้งโหนดรุ่นล่าสุดพร้อมกับ npm (คำสั่ง terminal โปรด)


1
มีอะไรผิดปกติกับsudo apt-get install nodejs?
AlikElzin-kilaka

20
^ มันติดตั้ง 1.10.0
siliconrockstar

6
@siliconrockstar ที่ติดตั้งจริง v0.10.25 บน 14.04 LTS ของฉัน
Alessandro Cosentino

1
ในการใช้งาน Ubuntu 16sudo apt-get install nodejs-legacy
briankip

คำตอบ:


253

ติดตั้งใหม่

ใช้ NodeSource PPA สำหรับรายละเอียดดูที่คำแนะนำการติดตั้ง ก่อนอื่นเลือกรุ่น Node.js ที่คุณต้องการและเพิ่มแหล่งที่มาของมัน:

v=8   # set to 4, 5, 6, ... as needed
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -

จากนั้นติดตั้งแพ็กเกจ Node.js

sudo apt-get install -y nodejs

PS: curlแพคเกจจะต้องติดตั้งบนเซิร์ฟเวอร์สำหรับบรรทัดรหัสเหล่านี้

การอัพเกรด

หากคุณได้nodejsติดตั้งไว้แล้วและต้องการอัปเดตอันดับแรกให้ลบการติดตั้งปัจจุบันและติดตั้งอีกครั้งโดยใช้สคริปต์ด้านบน

sudo apt-get purge nodejs npm

1
NodeSource ใช้ PPA แยกกันสองอัน: อันหนึ่งสำหรับรุ่น 0.10.X และ 0.12.X นอกจากนี้ยังมีแพ็กเกจ npm ล่าสุด
23W

11
ไม่ได้ผลสำหรับฉัน หลังจากทำงานcurl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -แล้วการติดตั้งnodejsฉันลงเอยด้วยv0.10
Daithí

46
การดัดโค้งในรูทเชลล์นั้นผิดหลายวิธี
Draco Ater

8
คำตอบโดย Guss ด้านล่างควรเป็นคำตอบที่ได้รับการยอมรับ นี่ไม่ใช่วิธีที่แนะนำให้ทำ
Patrick Fabrizius

2
@Alexander ทำตามคำตอบด้านล่างนี้ ( askubuntu.com/a/711976/389358 ) คุณจะได้รับ nodejs เวอร์ชั่นล่าสุดจาก NodeSource - แพ็คเกจนี้รวม npm รุ่นล่าสุดด้วยเช่นกัน
Keefer Rourke

166

โดยทั่วไปแล้วการโหลดข้อมูลโดยพลการจาก URL ไปยังเซสชันรูทเชลล์ไม่ใช่ความคิดที่ดีและฉันหวังว่าผู้คนจะหยุดการเร่ขายมันเป็นวิธีแก้ปัญหาสำหรับทุกสิ่ง - "โปรดเรียกใช้สคริปต์นี้ที่ฉันส่งให้คุณ อีกครั้ง - ฉันมีสะพานที่คุณอาจสนใจซื้อ "

เป็นอีกทางเลือกหนึ่งคือ "วิธีอูบุนตู" ในการทำสิ่งเดียวกันซึ่งคุณสามารถดูว่าระบบได้รับการปรับปรุงอย่างไรและรู้ว่าที่เก็บข้อมูลใดและคีย์ใดบ้างที่ถูกเพิ่มเข้ากับการกำหนดค่าระบบของคุณ:

curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install nodejs

นี่เป็นข้อมูลล่าสุด (ณ เวลาที่เขียน) Nodejs เวอร์ชัน 7 เวอร์ชันอื่น ๆ สามารถเปลี่ยนแปลงได้อย่างง่ายดายด้วย repo URL - ดูรายละเอียดจากเอกสาร nodesode.com


2
ฉันเห็นด้วยกับคำชี้แจงของคุณทั้งหมด แต่ไม่ได้เพิ่มที่เก็บใหม่ให้กับ apt เหมือนกับการเรียกใช้สคริปต์ที่ไม่รู้จักใช่ไหม (แม้ว่าผมเข้าใจสคริปต์ในทุกคำตอบอื่น ๆ ที่นี่เป็นจริงเพิ่ม repo ว่าโดยตัวเอง)
แดน

19
สคริปต์กำลังเพิ่ม repo ด้วยตัวเองและทำให้พระเจ้ารู้ว่าอะไร ตอนนี้อาจไม่เป็นพิษเป็นภัย แต่ใครจะรู้ว่าผู้ลักลอบ DNS หรือผู้ใช้เว็บไซต์จะทำอะไรในอนาคต การเพิ่ม repo นั้นไม่เหมือนกับการเรียกใช้สคริปต์ของอินเทอร์เน็ตเพราะมันจะไม่ดาวน์โหลดโค้ดที่รันได้หรือรันมัน - มันจะทำเช่นนั้นเพื่อตอบสนองต่อการติดตั้ง apt-get ที่เฉพาะเจาะจงซึ่งจะตรวจสอบว่ามีการเซ็นชื่อแพคเกจแล้ว ด้วยรหัส nodesource - ซึ่งหวังว่าจะได้รับการเก็บรักษาไว้อย่างปลอดภัยมากขึ้นจากนั้นก็คือโดเมนหรือเว็บไซต์ nodesource ความปลอดภัยของ APT นั้นยอดเยี่ยมและมีประวัติที่ดี
Guss

1
@Dan, ดูเหมือนว่าคุณกำลังใช้งาน Ubuntu 15.04 (utopic) ซึ่งไม่ได้รับการสนับสนุนโดย Node Source ดังนั้นคุณจะได้รับ 0.10 จากที่เก็บของ utopic โหนดต้นทางสนับสนุนเฉพาะ LTS รีลีสและ non-LTS ล่าสุด เนื่องจากคุณไม่ได้อยู่ในรุ่น LTS คุณคาดว่าจะอัปเกรดเป็นรุ่นล่าสุดเมื่อออกมาเมื่อเดือนตุลาคมที่ผ่านมา ดังนั้นทำอย่างใดอย่างหนึ่งหรือแฮ็คมันโดยการเปลี่ยน$(lsb_release -c)บิตการตรวจสอบอัตโนมัติเป็นหนึ่งในรุ่นที่ได้รับการสนับสนุนและจัดการกับผลที่ตามมา
Guss

2
@PaulDraper: ถาม nodesource พวกเขาเป็นคนขายสะพานที่พวกเขาไม่ได้เป็นเจ้าของ apt-getทางออกของฉันคือยาเสพติดตรง
Guss

1
คำตอบที่น่ากลัว! ในกรณีที่คนอื่นสงสัยก็ใช้งานได้กับเวอร์ชั่นที่ใหม่กว่า - เช่น: แทนที่7ด้วย9
Mihai Rotaru


25

หากคุณต้องการอัปเดตภายในnpmคุณสามารถใช้nคำสั่ง:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo npm install npm@latest

สิ่งนี้จะติดตั้งแพ็กเกจ n ซึ่งคุณสามารถใช้เพื่อสลับ NodeJS- รุ่นและใช้งานได้ เมื่อเปรียบเทียบกับทางเลือกที่ NVM และคำสั่งตัวเลือกที่SO นอกจากนี้ยังมีการโพสต์บล็อก


1
ฉันได้เพิ่ม NVM ทีละขั้นตอนที่: askubuntu.com/a/971612/52975
Ciro Santilli 新疆改造中心中心法轮功六四事件

1
ฉันค่อนข้างใหม่กับ npm และ nvm; ฉันพยายามติดตั้ง npm ภายใน python virtualenv มันสำคัญไหมว่าฉันใช้ npm หรือ nvm? nvm install lts/carbonติดตั้ง npm และโหนดสำหรับฉัน สิ่งนี้แตกต่างจากคำสั่งด้านบนที่คุณแชร์อย่างไร
kRazzy R

@kRazzyR: คุณได้รับเลือกว่าจะใช้nvmหรืออัปเดตและn NodeJS npmในทั้งสองกรณีคุณใช้npmเพื่อติดตั้งแพ็กเกจโหนด
serv-inc


8

ในการติดตั้ง NPM

sudo apt-get install npm

จากนั้นสำหรับโหนด

sudo npm cache clean -f
sudo npm install -g n
sudo n 0.xx.x  // here is the version what you want.. 

คำสั่งนี้จะติดตั้งโหนดตามเวอร์ชั่นที่คุณต้องการ ..


8

NVM (ผู้จัดการเวอร์ชั่นโหนด)

https://github.com/creationix/nvm

NVM ติดตั้งทั้งโหนดที่เสถียรล่าสุดและ npm สำหรับคุณ

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm --version

ตอนนี้ทดสอบด้วยแพ็คเกจจำลอง:

npm install --global vaca
vaca

ตั้งแต่การจัดหาจะต้องมีการทำเพื่อทุกเปลือกใหม่ติดตั้ง hacks .barshrcสคริปต์เพิ่มบางจัดหารถยนต์ที่ส่วนท้ายของคุณ ใช้งานได้ แต่ฉันต้องการลบรายการที่เพิ่มอัตโนมัติและเพิ่มของฉันเอง:

f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi

ข้อดี:

  • อนุญาตให้คุณใช้ Node หลายเวอร์ชันและไม่มี sudo

  • คล้ายคลึงกับ Ruby RVM และ Python Virtualenv ซึ่งเป็นแนวทางปฏิบัติที่ดีที่สุดในชุมชน Ruby และ Python

  • ดาวน์โหลดไบนารีที่รวบรวมไว้ล่วงหน้าหากเป็นไปได้และหากไม่ใช่จะเป็นการดาวน์โหลดแหล่งข้อมูลและรวบรวมหนึ่งสำหรับคุณ

เราสามารถสลับรุ่นโหนดได้อย่างง่ายดายด้วย:

nvm install 0.9.0
nvm install 0.9.9
nvm use 0.9.0
node --version
#v0.9.0
nvm use 0.9.9
node --version
#v0.9.9

จากนั้นคุณสามารถใช้.nvmrcไฟล์ติดตาม git เพื่อระบุรุ่นโหนดที่จำเป็นสำหรับโครงการที่กำหนด: https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for -a โครงการ / 54503474 # 54503474

ทดสอบใน Ubuntu 17.10



4

คุณสามารถติดตั้งเวอร์ชั่นล่าสุดได้อย่างง่ายดายโดยใช้คำแนะนำด้านล่าง

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -

Vesion 7.x เป็นโหนดรุ่นล่าสุด

sudo apt-get install nodejs

บรรทัดด้านบนจะติดตั้ง nodejs

sudo apt-get install build-essential

สิ่งนี้จะติดตั้งโมดูลที่จำเป็นเพื่อให้ nodejs ทำงานอย่างถูกต้อง

ตอนนี้ตรวจสอบว่า nodejs ติดตั้งอย่างถูกต้องในตอนท้ายของคุณ

nodejs -v

สิ่งนี้จะส่งคืนเวอร์ชัน nodejs ที่ติดตั้งไว้

npm -v

สิ่งนี้จะส่งคืนเวอร์ชัน npm ที่ติดตั้งไว้ หวังว่าจะช่วย ....

ที่มา: ลิงค์จะแสดงวิธีการติดตั้ง nodejs โดยใช้วิธีอื่นเช่นกัน


ติดตั้งทำไมbuild-essential?
David Foerster

แพ็กเกจ nodejs มีไบนารี nodejs รวมถึง npm อย่างไรก็ตามเพื่อให้แพ็กเกจ npm บางส่วนทำงาน (เช่นที่จำเป็นต้องมีการสร้างจากแหล่งที่มา) คุณจะต้องติดตั้งแพ็คเกจbuild-essentials
Jitendra Pawar

4

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

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

sudo snap install node --classic --channel 11/stable 

โหนดสแน็ปสามารถเข้าถึงได้โดยคำสั่ง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=11/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


3

เพียงแค่แยกคำตอบโดย @ 23W (คำตอบที่ยอมรับ)

นี่เป็นเพียงเนื้อหาของสคริปต์เพื่อหลีกเลี่ยงการทำ curl กับรูทเชลล์

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
echo "deb https://deb.nodesource.com/node_6.x $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo "deb-src https://deb.nodesource.com/node_6.x $(lsb_release -c -s) main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list

sudo apt-get update
sudo apt-get install -y nodejs



2

วิธีที่ฉันโปรดปรานในการติดตั้ง nodejs และ npm ล่าสุดคือการใช้ไฟล์เก็บถาวรไบนารีการติดตั้งที่มีให้ในเว็บไซต์ของ nodejs

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

การติดตั้ง nodejs ผ่าน Binaries


ตอนแรกลบรุ่นที่ติดตั้ง: (ถ้ามี)

sudo apt-get remove nodejs

ดาวน์โหลด

https://nodejs.org/en/download/stable/

ดาวน์โหลด Linux Binaries

  • ฉันต้องแยก tar.xz ไปยังโฟลเดอร์แล้วบีบอัดใหม่เป็น tar.gz

ติดตั้ง

sudo tar -C /usr/local --strip-components 1 -xzf /path/to/downloaded/tar/node-vYOURVERSION-linux-x64.tar.gz

ตรวจสอบ

node -v
npm --version

แหล่ง

http://www.thegeekstuff.com/2015/10/install-nodejs-npm-linux/


1
ทำไมบีบอัดใหม่เป็น tar.gz tarสนับสนุน--xz- และ-C /usr/localปล่อยให้tarทำcdเพื่อคุณ
muru

2

คำอธิบายวิดีโอ


NVM นั้นง่ายมากในการติดตั้งและช่วยให้คุณสามารถสลับรุ่นโหนดได้อย่างง่ายดาย จากที่เก็บ github :

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

ดาวน์โหลดและเรียกใช้สคริปต์การติดตั้ง

nvm ls-remote

เพื่อดูเวอร์ชันที่มี สมมติว่าคุณต้องการติดตั้งรุ่น 8.9.4

nvm install 8.9.4

และคุณทำเสร็จแล้ว

หากต้องการติดตั้งเวอร์ชันอื่นและใช้งาน (พูด 9.6.1)

nvm install 9.6.1
nvm alias default 9.6.1

1

ปรับปรุงแพ็คเกจผู้จัดการ

sudo apt-get update

การเพิ่ม NodeJS PPAs

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

การติดตั้ง NodeJS และ NPM

sudo apt-get install nodejs

ที่นี่ฉันเขียนโพสต์บล็อกที่สมบูรณ์เกี่ยวกับการติดตั้ง NodeJS และ NPM ใน Ubuntu คลิกที่นี่เพื่ออ่าน


การดัดผมในรูทเชลล์เป็นสิ่งที่เลวร้ายจริงๆที่ต้องทำโดยทั่วไปเกี่ยวกับปัญหาด้านความปลอดภัยจำนวนมากที่เปิดขึ้นผมขอแนะนำให้คุณอัปเดตโพสต์บล็อกและคำตอบของคุณที่จะไม่ทำเช่นนี้
shuttle87

1

วิธีการนี้ช่วยให้คุณสามารถลบ Node.JS เก็บเวอร์ชันต่าง ๆ และให้คำสั่งกับผู้ใช้ระบบทั้งหมดได้อย่างง่ายดาย

ดาวน์โหลดรุ่นที่มีเสถียรภาพของNode.js , /optบีบอัดมันและย้ายไปลง

ในกรณีที่คุณต้องการติดตั้งเวอร์ชั่นต่าง ๆ คุณสามารถเปลี่ยนชื่อโฟลเดอร์ตามรหัสเวอร์ชั่น:

/opt/node/6.9.1

เนื่องจากมีเพียง root เท่านั้นที่สามารถเปลี่ยนไฟล์ใน/opt/ หากคุณไม่ต้องการเรียกใช้sudoทุกครั้งที่คุณต้องการแก้ไขไฟล์ให้เปลี่ยนการอนุญาตของกลุ่ม:

chgrp adm -R /opt/node/10.15.3

จากนั้นสร้างไฟล์/etc/profile.d/node.shหากเนื้อหาต่อไปนี้:

export NODE_HOME=/opt/node/10.15.3

export CPLUS_INCLUDE_PATH=${NODE_HOME}/include
export C_INCLUDE_PATH=${NODE_HOME}/include
export LD_LIBRARY_PATH=${NODE_HOME}/lib
export MANPATH=${NODE_HOME}/share/man:${MANPATH}

export PATH=${NODE_HOME}/bin:$PATH

ออกจากระบบและเข้าสู่ระบบและ X-Window จะโหลดการกำหนดค่าโปรไฟล์ทั้งหมด

หากคุณติดตั้งรุ่นก่อนหน้าเพื่อหลีกเลี่ยงความขัดแย้งในไลบรารีให้เรียกใช้:

npm cache clean

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