วิธีการติดตั้ง NodeJS ล่าสุดบน Debian Jessie


29

ฉันเพิ่งติดตั้ง NodeJS & NPM บน Debian Jessie โดยใช้วิธีที่แนะนำ:

apt-get install curl
curl -sL https://deb.nodesource.com/setup | bash -
apt-get install -y nodejs

อย่างไรก็ตามเป็นรุ่นเก่า (โหนด v0.10.38 & npm 1.4.28)

คำแนะนำใด ๆ เกี่ยวกับวิธีที่ง่ายที่สุดในการติดตั้งเวอร์ชั่นใหม่เช่นโหนดปัจจุบันคือ v0.12.4 และ npm เป็น 2.7.4? การติดตั้งจากซอร์สโค้ดเป็นวิธีการเดียวของฉันหรือไม่?

คำตอบ:


48

มีสคริปต์การติดตั้งสำหรับ Node.js (ดูinsctructions การติดตั้ง ):

# Adapt version number to the version you want
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs

ความคิดเห็นเล็ก ๆ น้อย ๆ : ในความต่ำต้อยของฉันมันเป็นมากcurl | sudo bashความคิดที่ดีที่จะ คุณกำลังเรียกใช้สคริปต์ที่คุณไม่ได้ตรวจสอบกับสิทธิ์ของรูท มันเป็นการดีกว่าเสมอที่จะดาวน์โหลดสคริปต์อ่านมันตรวจสอบคำสั่งที่เป็นอันตรายและหลังจากนั้นให้เรียกใช้ แต่นั่นเป็นเพียงสองเซ็นต์ของฉัน

การติดตั้งสามารถทำได้ด้วยตนเองในไม่กี่ขั้นตอนโดยทำตามขั้นตอนการติดตั้งด้วยตนเอง :

  • ลบ PPA เก่า (ถ้ามี)
  • เพิ่มคีย์ repo ssh ของโหนด
  • เพิ่ม repo ของโหนดไปที่ sources.list
  • อัปเดตรายการแพคเกจและติดตั้งโดยใช้เครื่องมือฉลาดที่ชอบ

5
ops ใช้มัน แต่ตอนนี้มีsetup_4.x... ทำซ้ำ curl และ apt-get ok?
Peter Krauss

3
ในขณะที่คุณอาจจำเป็นต้องใหม่ล่าสุดรุ่นที่แท้จริงผมขอแนะนำให้ไปเยี่ยมชมเว็บไซต์ของพวกเขา: github.com/nodesource/distributions
Seniorpreacher

ทำไมคุณไม่เชื่อใจถ้ามันมาจากการเชื่อมต่อที่ปลอดภัยจากแหล่งเดียวกันที่คุณใช้ระบบไบนารี่จาก

@ acidzombie24 ถูกต้อง แต่แม้ว่าคุณจะเชื่อใจในรหัสว่าไม่ใช่สิ่งที่ชั่วร้าย แต่ก็มีโอกาสที่จะเกิดความผิดพลาดในสคริปต์หรือสคริปต์ที่ล้าสมัย หรือบางทีคุณอาจต้องการสั่งซื้อแหล่งข้อมูลของคุณแสดงรายการบางอย่างและสคริปต์จะดำเนินการเป็นอย่างอื่น อย่างไรก็ตามฉันคิดว่ามันเป็นการปฏิบัติที่ไม่ดีและผู้เริ่มต้น (ฉันไม่ได้มุ่งเป้าไปที่ OP แต่โดยทั่วไป) ไม่ควรได้รับการสนับสนุนให้ทำเช่นนั้น โดยเฉพาะอย่างยิ่งเมื่อทำการกระทำด้วยตนเองนั้นตรงไปตรงมามากกว่าการตรวจสอบสคริปต์
Jérôme

12

คุณสามารถดาวน์โหลด Node ( 4.2.2) เวอร์ชันล่าสุดได้จากเว็บไซต์ของพวกเขาแทนที่จะใช้แพ็คเกจ Debian Offers ( 0.12) นี่จะหมายความว่าคุณมีรุ่นที่ปรับปรุงแล้วเป็น npm ฉันไม่ได้มีปัญหาใด ๆ ในการทำเช่นนี้กับเจสซี

ดาวน์โหลด.tar.gzจากเว็บไซต์ของพวกเขาและcdลงใน dir นั้น (ชื่อของไฟล์นั้นชัดเจนสำหรับการดาวน์โหลดของฉัน):

$ tar -xzvf node-v4.2.2-linux-x64.tar.gz
$ cd node-v4.2.2-linux-x64

หากคุณมองในโฟลเดอร์ bin คุณจะเห็นไบนารีที่คุณต้องการสำหรับโหนดและ npm:

$ ls node-v4.2.2-linux-x64/bin 
node  npm

ตอนนี้ฉันจะเปลี่ยนชื่อโฟลเดอร์เป็นสิ่งที่ง่ายกว่านิดหน่อยในการติดตาม

$ mv node-v4.2.2-linux-x64 nodejs

หากคุณไม่สนใจที่จะปรับปรุงโหนดให้ย้ายโฟลเดอร์นี้ไปยังหนึ่งในตำแหน่ง bin ของคุณ (ฉันใช้~/bin) และข้ามขั้นตอนถัดไป

หากคุณต้องการที่จะสามารถอัปเดตเวอร์ชันโหนดของคุณได้อย่างง่ายดายให้ย้ายnodejsโฟลเดอร์ไปที่อื่นที่คุณสามารถติดตามมันได้ ( ~/nodejsอาจ?) จากนั้นคุณต้องการสร้างsymlinkไปยังหนึ่งในตำแหน่งถังขยะของคุณเพื่อให้ไบนารีสามารถใช้จากเชลล์ของคุณโดยไม่ต้องเขียนเส้นทางแบบเต็ม

สมมติว่าคุณใส่โฟลเดอร์ nodejs ในโฮมไดเร็กตอรี่ของคุณคุณสามารถทำได้:

$ ln -s ~/nodejs ~/bin/nodejs

เห็นได้ชัดว่าสิ่งนี้สามารถไปยังตำแหน่งถังขยะใด ๆ ที่คุณต้องการ ฉันใช้โฮมไดเร็กตอรี่ของฉันดังนั้นมันจึงมีให้ฉันเท่านั้น, แต่คุณสามารถทำได้อย่างง่ายดาย:

$ ln -s ~/nodejs /usr/local/bin/nodejs

สิ่งนี้จะสร้างsymlinkจากโฟลเดอร์ nodejs ในโฮมไดเร็กตอรี่ของคุณไปยังไดเร็กตอรี่ bin (หมายถึงการอัพเดทใด ๆ ในไดเรคทอรีในโฟลเดอร์โฮมของคุณนั้นจะปรากฏในโฟลเดอร์อื่นผ่านลิงก์สัญลักษณ์ ) ตอนนี้คุณต้องการตรวจสอบให้แน่ใจว่าโฟลเดอร์ bin ที่มีไดเร็กทอรี nodejs อยู่ใน$PATHตัวแปรสภาวะแวดล้อมของคุณดังนั้นให้เปิด~/.profileไฟล์ในโฮมไดเร็กทอรีของคุณ คุณต้องการเพิ่มสิ่งนี้ลงที่ด้านล่างของไฟล์นั้น (เปลี่ยนเส้นทางหากคุณไม่ได้ใช้~/bin/):

# Set the node PATH if it exists
if [ -d "$HOME/bin/nodejs/bin" ] ; then
    PATH="$HOME/bin/nodejs/bin:$PATH"
fi

การทำเช่นนี้จะตรวจสอบว่ามีไดเรกทอรีอยู่หรือไม่และเพิ่มเข้าไปใน PATH ของคุณหรือไม่ ฉันใช้zshดังนั้นฉันเพิ่งอัปเดตบรรทัดใน~/.zshrc:

export PATH="$HOME/bin/nodejs/bin:$PATH"

ปิดเทอร์มินัลของคุณและเปิดใหม่จากนั้นพิมพ์ต่อไปนี้เพื่อตรวจสอบ:

$ node -v
v4.2.2

$ npm -v
2.14.7

ด้วยการสร้างลิงก์ sym ตอนนี้หมายความว่าในอนาคตคุณสามารถดาวน์โหลดใหม่.tar.gzจากเว็บไซต์ Nodejs แยกออกมา~/nodejsและไบนารีที่มีให้คุณใน$PATH ตัวแปรสภาพแวดล้อมของคุณได้รับการปรับปรุงโดยอัตโนมัติ


อันนี้ใช้ได้สำหรับฉันเพราะมันยังให้การทำงาน npm
artfulrobot

4

ในกรณีของฉันฉันรันคำสั่งเชลล์ที่แนะนำ:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

ปัญหาคือสคริปต์ทุบตีไม่ได้อัปเดต APT ของฉันดังนั้นจึงได้รับการติดตั้งแพกเกจเดเบียนเก่าจากแหล่ง debian.org และไม่ได้มาจาก nodesource.com

ตรวจสอบว่านี่เป็นปัญหาapt-cache policy nodejsของ คุณควรเห็นสิ่งที่ชอบCandidate: 6.10.2-1nodesource1~jessie1และไม่Candidate: 0.10.29~dfsg-2

ในการตั้งค่าลำดับความสำคัญพินเป็นโหนดซอร์สให้เพิ่มไฟล์ใน/etc/apt/preferences.d/ชื่อที่เรียกnodeหรืออะไรก็ตามที่มีเนื้อหานี้:

Package: nodejs
Pin: release o=Node Source
Pin-Priority: 1200

apt-get cache updateบันทึกและเรียกใช้ จากนั้นลองapt-cache policy nodejsอีกครั้ง หากตัวเลือกดูถูกต้องให้ติดตั้งตามปกติapt-get install nodejs


apt-get cache updateกลับมาดังนั้นผมจึงวิ่งE: Invalid operation cache sudo aptitude update
user394

2

คุณสามารถทำตามเอกสารอย่างเป็นทางการของ node.jsเพื่อติดตั้งเวอร์ชันล่าสุดด้วยตัวจัดการแพ็กเกจ

Node.js v6:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs

Node.js v7:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -
sudo apt-get install -y nodejs

การรันหลังโหนด v7.5.0 และ npm v4.1.2 ถูกติดตั้งบนระบบของฉัน ทั้งสองnodeและnodejsนามแฝงถูกเปิดใช้งานสำหรับโหนดโดยอัตโนมัติ


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