Làm cách nào để cài đặt các phiên bản mới nhất của NodeJS và NPM?


203

Tôi nhận thấy trên trang web https://nodejs.org/ rằng nút hiện đang ở v 0.12.0.

Ai đó có thể cho tôi biết cách cài đặt phiên bản nút mới nhất cùng với npm (xin vui lòng các lệnh đầu cuối) không?


1
Có chuyện gì với bạn sudo apt-get install nodejsvậy?
AlikElzin-kilaka

20
^ nó cài đặt 1.10.0.
siliconrockstar

6
@siliconrockstar thực sự đã cài đặt v0.10.25 vào ngày 14.04 LTS của tôi
Alessandro Cosentino

1
Sử dụng Ubuntu 16sudo apt-get install nodejs-legacy
briankip

Câu trả lời:


253

Cài đặt mới

Sử dụng PPA NodeSource. Để biết chi tiết xem hướng dẫn cài đặt . Đầu tiên, chọn phiên bản Node.js bạn cần và thêm các nguồn cho nó:

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

Sau đó cài đặt gói Node.js.

sudo apt-get install -y nodejs

PS: curlgói phải được cài đặt trên máy chủ cho các dòng mã này.

Nâng cấp

Nếu bạn nodejsđã cài đặt và muốn cập nhật, trước tiên hãy xóa phần cài đặt hiện tại và cài đặt lại bằng các tập lệnh ở trên.

sudo apt-get purge nodejs npm

1
NodeSource sử dụng hai PPA riêng biệt: một cho phiên bản 0.10.X và cho 0.12.X. Ngoài ra, nó chứa gói npm cuối cùng.
23W

11
không làm việc cho tôi. Sau khi chạy curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -rồi cài đặt, nodejstôi đã kết thúc vớiv0.10
Daithí

46
Curling vào vỏ gốc là rất sai trong nhiều cách.
Draco Ater

8
Câu trả lời của Guss dưới đây nên là câu trả lời được chấp nhận. Đây không phải là cách được đề nghị để làm điều đó.
Patrick Fabrizius

2
@AlexanderMills câu trả lời được cung cấp dưới đây ( Askubfox.com/a/711976/389353 ) sẽ giúp bạn có phiên bản mới nhất của nodejs từ NodeSource - gói này bao gồm cả phiên bản mới nhất của npm.
Keefer Rourke

166

Nói chung, tải dữ liệu tùy ý từ một URL vào phiên shell root không phải là ý tưởng hay và tôi ước mọi người sẽ ngừng bán nó như một giải pháp cho mọi thứ - "Xin vui lòng chỉ chạy tập lệnh này tôi đang gửi cho bạn, và trong khi chúng tôi ' đang ở đó - tôi có một cây cầu mà bạn có thể quan tâm để mua ".

Thay vào đó, đây là "Cách thức Ubuntu" để làm tương tự, nơi bạn có thể xem hệ thống đang được cập nhật như thế nào và biết kho nào và khóa nào được thêm vào cấu hình hệ thống của bạn:

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

Đây là phiên bản mới nhất (tại thời điểm viết) Nodejs phiên bản 7. Các phiên bản khác cũng có thể được thay đổi đơn giản với URL repo - tham khảo tài liệu củaodesource.com để biết chi tiết.


2
Tôi hoàn toàn đồng ý với tuyên bố của bạn, nhưng không thêm kho lưu trữ mới vào apt, giống như chạy một số tập lệnh không xác định? (Mặc dù tôi hiểu kịch bản trong mọi câu trả lời khác ở đây, nhưng thực tế là tự thêm repo đó)
Dan

19
Kịch bản là thêm repo của chính nó, và cũng làm chúa biết những gì. Bây giờ nó có thể hoàn toàn lành tính, nhưng ai biết được kẻ tấn công DNS hoặc người khai thác trang web sẽ làm gì trong tương lai? Thêm một repo không giống như chạy tập lệnh của internet vì bản thân nó không tải xuống bất kỳ mã thực thi nào hoặc chạy nó - nó sẽ chỉ làm như vậy để đáp ứng với cài đặt apt-get cụ thể, sẽ xác minh gói đã được ký với khóa nodeource - hy vọng được giữ an toàn hơn nhiều so với tên miền hoặc trang web củaourceource. Bảo mật APT là tuyệt vời và có một hồ sơ theo dõi tốt.
Guss

1
@Dan, Dường như bạn đang chạy Ubuntu 15.04 (không tưởng) không được Node Source hỗ trợ, vì vậy bạn nhận được 0,10 từ kho lưu trữ không tưởng. Nguồn Node chỉ hỗ trợ phát hành LTS và không phải LTS mới nhất. Bởi vì bạn không có bản phát hành LTS, bạn dự kiến ​​sẽ nâng cấp lên phiên bản mới nhất khi nó được phát hành vào tháng 10 năm ngoái. Vì vậy, hoặc làm điều đó, hoặc hack nó bằng cách thay đổi $(lsb_release -c)bit tự động phát hành thành một trong những bản phát hành được hỗ trợ và giải quyết hậu quả.
Guss

2
@PaulDraper: Hỏi nútource, họ là những người bán cầu mà họ không sở hữu. apt-getGiải pháp của tôi là dope thẳng.
Guss

1
câu trả lời tuyệt vời! trong trường hợp bất cứ ai khác thắc mắc, nó chỉ hoạt động cho các phiên bản mới hơn - ví dụ: chỉ cần thay 7 bằng 9
Mihai Rotaru


25

Nếu bạn muốn cập nhật bên trong npm, bạn có thể sử dụng nlệnh:

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

Cái này cài đặt gói n mà bạn có thể sử dụng để chuyển đổi NodeJS-Phiên bản và sử dụng nó. So sánh với các tùy chọn lệnh và NVM thay thế là tại SO . Ngoài ra còn có một bài viết blog .


1
Tôi đã thêm từng bước NVM tại: Askubfox.com/a/971612/52975
Ciro Santilli

1
Tôi khá mới với npm và nvm; Tôi đang cố gắng cài đặt npm bên trong một ảo python; Có vấn đề gì nếu tôi sử dụng npm hoặc nvm? nvm install lts/carboncài đặt npm và nút cho tôi. Điều này khác với các lệnh trên mà bạn đã chia sẻ như thế nào?
kRazzy R

@kRazzyR: bạn có thể chọn sử dụng nvmhoặc ncập nhật NodeJS và npm. Trong cả hai trường hợp, bạn sử dụng npmđể cài đặt các gói nút.
phục vụ


8

Để cài đặt NPM,

sudo apt-get install npm

Sau đó, cho nút,

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

Lệnh này sẽ cài đặt nút dựa trên phiên bản bạn muốn ..


8

NVM (Trình quản lý phiên bản nút)

https://github.com/creationix/nvm

NVM cài đặt cả nút ổn định mới nhất và npm cho bạn

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

Bây giờ hãy kiểm tra nó với một gói giả:

npm install --global vaca
vaca

Vì việc tìm nguồn cung ứng phải được thực hiện cho mọi trình bao mới, việc hack tập lệnh cài đặt sẽ thêm một số nguồn tự động vào cuối của bạn .barshrc. Điều đó hoạt động, nhưng tôi thích loại bỏ cái tự động thêm và thêm cái của riêng tôi:

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

Ưu điểm:

  • cho phép bạn sử dụng nhiều phiên bản của Node và không có sudo

  • tương tự như Ruby RVM và Python Virtualenv, được coi là thực tiễn tốt nhất trong cộng đồng Ruby và Python

  • tải xuống một nhị phân được biên dịch trước nếu có thể, và nếu không, nó sẽ tải xuống nguồn và biên dịch một mã cho bạn

Chúng ta có thể dễ dàng chuyển đổi các phiên bản nút với:

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

Sau đó, bạn có thể sử dụng .nvmrctệp theo dõi git để chỉ ra phiên bản nút cần thiết cho một dự án nhất định: https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for -a-dự án / 54503474 # 54503474

Đã thử nghiệm trong Ubuntu 17.10.


7

Đối với phiên bản 5.x Theo PPA :

apt-get remove --purge nodejs npm
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
apt-get install nodejs

4

Bạn có thể cài đặt phiên bản mới nhất rất dễ dàng bằng cách sử dụng hướng dẫn dưới đây.

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

Vesion 7.x là phiên bản mới nhất của nút.

sudo apt-get cài đặt nodejs

Dòng trên sẽ cài đặt nodejs.

sudo apt-get install build-Essential

Điều này sẽ cài đặt các mô-đun cần thiết cho nodejs để chạy đúng.

Bây giờ hãy kiểm tra xem nodejs có được cài đặt chính xác không?

nodejs -v

Điều này sẽ trả về phiên bản nodejs đã cài đặt.

npm -v

Điều này sẽ trở lại phiên bản npm được cài đặt. Hy vọng nó giúp....

Source: link sẽ chỉ cho bạn cách cài đặt nodejs bằng một số phương thức khác.


Tại sao phải cài đặt build-essential?
David Foerster

Gói nodejs chứa nhị phân nodejs cũng như npm. Tuy nhiên, để một số gói npm hoạt động (chẳng hạn như các gói yêu cầu xây dựng từ nguồn), bạn sẽ cần cài đặt gói xây dựng cần thiết
Jitendra Pawar

4

Node.js có sẵn dưới dạng gói snap trong tất cả các phiên bản Ubuntu hiện được hỗ trợ. Cụ thể với Node.js, nhà phát triển có thể chọn từ một trong những bản phát hành hiện được hỗ trợ và nhận cập nhật tự động thường xuyên trực tiếp từ NodeSource. Các phiên bản Node.js 6, 8, 9, 10, 11 và 12 hiện có sẵn, với Cửa hàng Snap được cập nhật trong vài giờ hoặc vài phút sau khi phát hành Node.js.

Nút có thể được cài đặt bằng một lệnh duy nhất, ví dụ:

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

Nút snap có thể được truy cập bằng lệnh node, ví dụ:

$ nút -v  
v11.5.0

Một phiên bản cập nhật của npm sẽ được cài đặt như một phần của nút chụp. npm nên được chạy bên ngoài nút thay thế, trong vỏ bình thường của bạn. Sau khi cài đặt nút snap, chạy lệnh sau để cho phép kiểm tra cập nhật npm:

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

Thay thế your-usernametrong lệnh trên bằng tên người dùng của riêng bạn. Sau đó chạy npm -vđể kiểm tra xem phiên bản của npm có được cập nhật hay không. Như một ví dụ tôi đã kiểm tra rằng npm đã được cập nhật, kiểm tra phiên bản của gói đã được cài đặt có tên là sợi bằng lệnh npm list yarnvà sau đó cập nhật gói sợi hiện có lên phiên bản mới nhất bằng lệnhnpm update yarn

Người dùng có thể chuyển đổi giữa các phiên bản của Node.js bất cứ lúc nào mà không cần liên quan đến các công cụ bổ sung như nvm (Trình quản lý phiên bản nút), ví dụ:

sudo snap refresh node --channel=11/stable

Người dùng có thể kiểm tra các phiên bản cạnh của Node.js có thể được cài đặt từ kênh cạnh mới nhất hiện đang theo dõi Node.js phiên bản 12 bằng cách chuyển đổi bằng:

sudo snap switch node --edge

Cách tiếp cận này chỉ được khuyến nghị cho những người dùng sẵn sàng tham gia thử nghiệm và báo cáo lỗi ngược dòng.

Lịch trình LTS của Node.js

Phát hành LTS Status Codename LTS Bắt đầu bảo trì Bắt đầu bảo trì Kết thúc
6.x Boron hoạt động 2016-10-18 tháng 4 năm 2018 tháng 4 năm 2019
7.x Không có LTS              
8.x Active Carbon 2017-10-31 tháng 4 năm 2019 tháng 12 năm 2019
9.x Không có LTS              
10.x Hoạt động Dubnium tháng 10 năm 2018 tháng 4 năm 2020 tháng 4 năm 2021  
11.x Không LTS 2019-04-01 2019-06-30
12.x 2019-10-22 2021-04-01 2022-04-01
13.x Không LTS 2020-04-20 2020-06-01


3

Chỉ cần một câu trả lời của @ 23W (câu trả lời được chấp nhận).

Đây chỉ là nội dung của tập lệnh, chỉ để tránh làm cong đến root shell.

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

3

Tải xuống nodejstừ https://nodejs.org/

Để cài đặt từ một thiết bị đầu cuối:

cd /usr/local
tar --strip-components 1 -xJf ~/Downloads/node-v4.4.5-linux-x64.tar.xz

2
//Download
cd ~/Downloads
wget https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz

//Install
cd /usr/local
tar --strip-components 1 -xJf ~/Downloads/node-v4.4.5-linux-x64.tar.xz

//Verify
node -v
npm version

Nguồn


2

Cách ưa thích của tôi để cài đặt nodejs và npm mới nhất là sử dụng kho lưu trữ nhị phân cài đặt được cung cấp trên trang web của nodejs.

Điều này có thể nhanh chóng trở thành cách yêu thích mới của bạn quá. Hoạt động như một lá bùa. Nó liên quan đến 1 tải xuống và 1 lệnh. Làm xong. KHÔNG có lỗi [nhiều lần tôi đã làm điều này]. Không cần phải gỡ cài đặt những thứ hiện có trước đó.

Cài đặt nodejs qua Binaries


Đầu tiên, gỡ bỏ phiên bản đã cài đặt: (nếu tồn tại)

sudo apt-get remove nodejs

Tải xuống

https://nodejs.org/en/doad/ sóng /

Tải về Linux Binaries.

  • Tôi đã phải trích xuất tar.xz vào một thư mục và sau đó nén lại dưới dạng tar.gz

Tải về

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

Kiểm chứng

node -v
npm --version

Nguồn

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


1
Tại sao phải nén lại như tar.gz? tarhỗ trợ --xz- và -C /usr/localđể tarlàm cdcho bạn.
muru

2

Giải thích video


NVM rất đơn giản để cài đặt và cho phép bạn dễ dàng chuyển đổi các phiên bản nút. Từ kho github :

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

tải xuống và chạy tập lệnh cài đặt

nvm ls-remote

để xem các phiên bản có sẵn. Giả sử bạn muốn cài đặt phiên bản 8.9.4

nvm install 8.9.4

và bạn đã hoàn thành.

Để cài đặt phiên bản khác và sử dụng nó (giả sử 9.6.1)

nvm install 9.6.1
nvm alias default 9.6.1

1

Cập nhật Trình quản lý gói

sudo apt-get update

Thêm PPA NodeJS

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

Cài đặt NodeJS và NPM

sudo apt-get install nodejs

Ở đây, tôi đã viết một bài viết hoàn chỉnh trên Blog về Cài đặt NodeJS và NPM trong Ubuntu. Nhấn vào đây để đọc


Nói chung, việc bẻ khóa vào một vỏ gốc là một điều thực sự tồi tệ đối với số lượng lớn các vấn đề bảo mật mở ra, tôi khuyên bạn nên cập nhật bài đăng trên blog và câu trả lời của bạn để không làm điều này.
đưa đón87

1

Cách tiếp cận này cho phép bạn dễ dàng xóa Node.JS, giữ các phiên bản khác nhau và cung cấp các lệnh cho tất cả người dùng hệ thống.

Tải xuống phiên bản ổn định của Node.JS , giải nén nó và chuyển nó vào /opt.

Trong trường hợp bạn muốn cài đặt các phiên bản khác nhau, bạn có thể đổi tên thư mục theo mã phiên bản của nó:

/opt/node/6.9.1

Vì chỉ root mới có thể thay đổi tệp trong /opt/, nếu bạn không muốn gọi invoke sudomỗi khi bạn cần sửa đổi tệp, hãy thay đổi quyền của nhóm:

chgrp adm -R /opt/node/10.15.3

Sau đó tạo tập tin /etc/profile.d/node.shnếu nội dung sau:

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

Đăng xuất và đăng nhập và X-Window sẽ tải lại tất cả các cấu hình hồ sơ.

Nếu bạn đã cài đặt phiên bản trước, để tránh xung đột thư viện chạy:

npm cache clean

-1

Cập nhật Trình quản lý gói

sudo apt-get update

Thêm PPA

sudo apt-get install python-software-properties

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

Cài đặt NodeJS và NPM

sudo apt-get install nodejs

Để tham khảo: Cài đặt NodeJS trong Ubuntu - WebCheerz

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.