จะติดตั้ง NodeJS 4 ได้อย่างไร


คำตอบ:


75

คำแนะนำถูกนำมาจากที่นี่: https://github.com/nodesource/distribution

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

แล้ว:

sudo apt-get install nodejs

นี่คือเวอร์ชั่นของระบบ:

ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ lsb_release -r
Release:    15.04
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ node -v
v4.0.0
ubuntu@424c7702-0947-e7c7-c532-dfec484fc109:~$ npm -v
2.14.2

@jarserver - "แพ็กเกจต่อไปนี้มีการพึ่งพาแบบไม่แน่นอน: nodejs: ขึ้นอยู่กับ: rlwrap แต่ไม่สามารถติดตั้งได้ E: ไม่สามารถแก้ไขปัญหาได้คุณมีแพ็กเกจที่เสียหาย" - เกิดข้อผิดพลาดขณะรับ apt-get install จะแก้ไขได้อย่างไร?
Kumar Sambhav

@KumarSambhav ดูเหมือนว่าฐานข้อมูลแพ็กเกจของคุณอยู่ในสถานะเสียค้นหาไซต์สำหรับวิธีการแก้ไขสถานะที่ใช้งานไม่ได้
battlemidget

สิ่งนี้ใช้ไม่ได้กับฉันบน Ubuntu 15.10 มันติดตั้ง v0.10.25 เสมอ (เวอร์ชั่นต่ำกว่า OP ดังนั้นฉันไม่รู้เลยว่าเกิดอะไรขึ้น ... )
HankScorpio

@HankScorpio ดูเหมือนว่า apt-repo ไม่ได้รับการอัพเดต ลองทำตามคำแนะนำในการติดตั้งด้วยตนเอง ( github.com/nodesource/distribution#manual-installation ) และดูว่าแก้ไขได้หรือไม่
jarsever

ใช่นั่นคือปัญหาที่เกิดขึ้น คีย์ GPG บางตัว (ไม่ว่าจะเป็นอะไร) หายไปดังนั้นจึงapt-get updateล้มเหลวทุกครั้ง ฉันใช้y-ppa-managerเพื่อแก้ไขปัญหาและตอนนี้ฉันมี NodeJS เวอร์ชันล่าสุด 4
HankScorpio

37

Node Version Manager มีเวอร์ชั่นล่าสุดเสมอ

ฉันเห็นด้วยอย่างยิ่งว่าการติดตั้ง Node ด้วย Node Version Managerเป็นตัวเลือกที่ดีที่สุดใน Ubuntu ถ้าคุณติดตั้งบนคอมพิวเตอร์ที่คุณต้องการพัฒนา (แทนที่จะเป็นเซิร์ฟเวอร์ที่ใช้งานจริง)

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

ด้วย NVM ทุกอย่างจะถูกเก็บไว้ในโฟลเดอร์ภายในบ้านของคุณ (ไม่จำเป็นต้องใช้sudo) และคุณสามารถติดตั้ง Node หลายเวอร์ชัน (รวมถึง 4.0) และสลับระหว่างมันได้อย่างง่ายดาย

การติดตั้งด้วย NVM

นำมาจากคำแนะนำในการติดตั้ง NVM :

รับ NVM ล่าสุด (คุณอาจต้องsudo apt-get install curlก่อน):

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

บอกเชลล์ให้ใช้nvm(คุณอาจต้องการเพิ่มสิ่งนี้เพื่อ~/.bashrcให้มันเกิดขึ้นโดยอัตโนมัติในอนาคต):

source ~/.nvm/nvm.sh

จากนั้นติดตั้งเวอร์ชันโหนดล่าสุด:

nvm install 4.0

และบอก nvm ว่าต้องการใช้ Node เวอร์ชันใด:

nvm use 4.0

คุณอาจต้องการเพิ่มnvm use 4.0บรรทัดลงในของคุณ~/.bashrcเพื่อที่คุณจะได้ไม่ต้องเลือกเวอร์ชั่นโหนดทุกครั้งที่คุณเริ่มใช้งานเทอร์มินัล

ตอนนี้ถ้าคุณตรวจสอบwhich nodeมันควรให้พา ธ ไปยังโหนดที่เรียกใช้งานได้ภายในโฟลเดอร์โฮมของคุณ วิ่งnode --versionควรบอกคุณว่าคุณกำลังทำงานv4.0.0อยู่


6
ฉันไม่คิดว่าความคิดเห็นเกี่ยวกับการอนุญาตยุ่งถูกต้องฉันติดตั้งโหนดจาก nodesource apt repo และสามารถเรียกใช้และติดตั้งโมดูลโหนดในโฮมไดเร็กตอรี่โฮมของฉันได้ (รวมถึง -g global option) สิ่งที่ต้องทำคือการอัพเดต ~ / .npmrc เพื่อกำหนดไดเรกทอรีคำนำหน้า
battlemidget

3
อานั่นเป็นประเด็นที่ยุติธรรมมาก ฉันยังคงเป็นแฟนตัวยงของ nvm สำหรับแง่มุมการจัดการเวอร์ชัน แต่ถ้าไม่ใช่ของคุณการตั้งค่าส่วนนำหน้าด้วย~/.npmrcแน่นอนน่าจะเป็นวิธีที่ถูกต้องในการจัดการสิทธิ์สำหรับโมดูลทั่วโลก
Michael Martin-Smucker

ฉันเชื่อว่าโน้ต "ล้าสมัย" เกี่ยวกับที่เก็บอย่างเป็นทางการในคำตอบคือ ... ล้าสมัย ;-) ที่เก็บข้อมูลอย่างเป็นทางการในขณะนี้สนับสนุนเวอร์ชันที่เผยแพร่ต่อสาธารณะใด ๆ บนรถไฟปล่อยที่รองรับ - มี repos สำหรับรุ่น 6, 7 และ แม้ที่ 8 และได้รับเช่นเดียวกับที่อย่างน้อยตั้งแต่คำตอบของฉันด้านล่าง (10/15)
Guss

36

ด้วยความรุ่งโรจน์ถึง @jarsever ฉันเองไม่สมัครเป็นสมาชิกกับกระบวนทัศน์" curl | sh "

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

version=4
apt-key adv --keyserver keyserver.ubuntu.com --recv 68576280
apt-add-repository 'deb https://deb.nodesource.com/node_${version}.x precise main'
apt-get update
apt-get install nodejs

ฉันเชื่อว่ากระบวนการนี้ควรมีความชัดเจนและคุณสามารถทำเช่นเดียวกันผ่านทาง Software Properties UI ของ Ubuntu


มีข้อเสียในการทำเช่นนี้หรือไม่? ดูเหมือนว่าเป็นตัวเลือกที่ดีที่สุด ...
Catskul

6
มันมีมากกว่าหนึ่งบรรทัดและอนุญาตให้คุณเรียนรู้เกี่ยวกับระบบของคุณหรือไม่ ... บางคนไม่ชอบฉันคิดว่านั่นเป็นวิธีเดียวที่ฉันสามารถอธิบายcurl|shปรากฏการณ์ได้
Guss

3
นอกเหนือจากการเรียนรู้เกี่ยวกับตัวจัดการแพคเกจระบบปฏิบัติการของคุณแล้วยังเป็นปัญหาด้านความปลอดภัยด้วย curl|shดึงสคริปต์จากเซิร์ฟเวอร์และดำเนินการโดยตรงในเปลือก ฉันเชื่อใจโหนดซอร์สส่วนตัว แต่มันไม่ใช่นิสัยที่ดีในการเข้าใช้ unix.stackexchange.com/questions/46286/…
blank_cat

sudo -E bashและมีการขอให้คุณลงในท่อ มันทำงานเหมือนรูท ฉันขอแนะนำให้คุณอ่านและทำความเข้าใจกับสคริปต์ถ้าคุณจะไปป์ไลน์จากเน็ตไปสู่รูทเชลล์
blank_cat

1
โดยทั่วไปแล้วการติดตั้งแพคเกจเดบิตมีความเสี่ยงเท่ากับการวางท่ออินเทอร์เน็ตลงในรูทเชลล์ อย่างที่บอกไปแล้วว่าคุณเข้าใจถึงระบบของคุณและอีกคนบอกเป็นนัย ๆ ว่าคุณไม่เข้าใจ - และนั่นก็เป็นความแตกต่างอย่างมาก
Guss

0

ฉันชอบที่จะใช้ nodeenv จาก pypi ( https://pypi.python.org/pypi/nodeenv ) คุณติดตั้งแพ็กเกจโดยใช้ pip แล้วตั้งค่า "node / virtualenv" และบอกให้ติดตั้งรุ่นที่สร้างไว้ล่วงหน้ารวดเร็วและง่ายดาย . พอล


-1

สิ่งนี้ใช้ได้สำหรับฉัน

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install 
curl https://www.npmjs.org/install.sh | sh

ที่มา: https://gist.github.com/isaacs/579814


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