Làm cách nào để cập nhật nodeJS của tôi lên phiên bản mới nhất?


626

Tôi đã cài đặt nodeJS trên Ubuntu với mã sau

sudo apt-get install nodejs

Vì tôi là người dùng mới cho Ubuntu, tôi cũng chạy mã này

sudo apt-get install npm

Bây giờ khi tôi gõ

 nodejs --version

Nó cho thấy

v0.6.19

Tôi đã kiểm tra và thấy phiên bản nodeJS mới nhất là 0.10.26

Làm cách nào để cập nhật phiên bản nodeJS của tôi lên 0.10.26?

Tôi đã thử với

 sudo apt-get install <packagename>
 sudo apt-get install --only-upgrade <packagename>

nhưng không có may mắn


2
Tốt hơn là sử dụng nvm để cài đặt nodejs. Nó là viết tắt của "Trình quản lý phiên bản nút". Bạn có thể rất dễ dàng cài đặt nhiều phiên bản của nodejs, chuyển đổi giữa chúng và đặt mặc định.
Mina Michael

Câu trả lời:


1107

Sử dụng mô-đun n từ npm để nâng cấp nút

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

Để nâng cấp lên phiên bản mới nhất (và không ổn định hiện tại), bạn có thể sử dụng

sudo n latest

Trở lại:

sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node
sudo n rm 6.0.0     # replace number with version of Node that was installed
sudo npm uninstall -g n

Tìm thấy trong blog David Walsh http://davidwalsh.name/upTHER-nodejs


11
đây phải là câu trả lời đúng nlà gói trình trợ giúp nút cài đặt hoặc cập nhật phiên bản node.js đã cho.
Martin

40
Tôi sẽ khuyên mạnh mẽ chống lại việc này trên một ví dụ sản xuất. Nó có thể gây rối nghiêm trọng với các gói npm toàn cầu và khả năng cài đặt mới của bạn.
Loourr

12
nhưng vẫn là nodejs --version gieo 0.10.25
Mansuu ....


14
Không hoạt động - sau khi làm theo các bước, node -vvẫn đưa cho tôi phiên bản 6 chứ không phải 10.
Tomáš Zato

369

Hướng dẫn cài đặt hoàn chỉnh đã được tải lên ở đây bởi Nodesource. Nó được sao chép dưới đây để bạn tham khảo. Hướng dẫn là giống nhau để cập nhật lên phiên bản mới nhất.

Node.js v12.x :

LƯU Ý: Nếu bạn đang sử dụng Ubuntu Precise hoặc Debian Wheezy, bạn có thể muốn đọc về việc chạy Node.js> = 6.x trên các bản phát hành cũ hơn

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs

Node.js v11.x :

LƯU Ý: Nếu bạn đang sử dụng Ubuntu Precise hoặc Debian Wheezy, bạn có thể muốn đọc về việc chạy Node.js> = 6.x trên các bản phát hành cũ hơn

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs

Node.js v10.x :

LƯU Ý: Nếu bạn đang sử dụng Ubuntu Precise hoặc Debian Wheezy, bạn có thể muốn đọc về việc chạy Node.js> = 6.x trên các bản phát hành cũ hơn

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs

Node.js v9.x :

LƯU Ý: Nếu bạn đang sử dụng Ubuntu Precise hoặc Debian Wheezy, bạn có thể muốn đọc về việc chạy Node.js> = 6.x trên các bản phát hành cũ hơn

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_9.x | bash -
apt-get install -y nodejs

Node.js v8.x :

LƯU Ý: Nếu bạn đang sử dụng Ubuntu Precise hoặc Debian Wheezy, bạn có thể muốn đọc về việc chạy Node.js> = 6.x trên các bản phát hành cũ hơn

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs

Node.js v7.x :

LƯU Ý: Gói Debian Wheezy và Ubuntu Precise KHÔNG có sẵn cho bản phát hành này. Vui lòng tham khảo khi chạy Node.js> = 4.x trên các bản phát hành cũ hơn

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_7.x | bash -
apt-get install -y nodejs

Node.js v6.x :

LƯU Ý: Nếu bạn đang sử dụng Ubuntu Precise hoặc Debian Wheezy, bạn có thể muốn đọc về việc chạy Node.js> = 4.x trên các bản phát hành cũ hơn .

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install -y nodejs

Node.js v5.x :

LƯU Ý: Nếu bạn đang sử dụng Ubuntu Precise hoặc Debian Wheezy, bạn có thể muốn đọc về việc chạy Node.js> = 4.x trên các bản phát hành cũ hơn .

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_5.x | bash -
apt-get install -y nodejs

Node.js v4.x :

LƯU Ý: Nếu bạn đang sử dụng Ubuntu Precise hoặc Debian Wheezy, bạn có thể muốn đọc về việc chạy Node.js> = 4.x trên các bản phát hành cũ hơn .

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_4.x | bash -
apt-get install -y nodejs

Node.js v0.12 :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.12 | bash -
apt-get install -y nodejs

Node.js v0.10 :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.10 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.10 | bash -
apt-get install -y nodejs

io.js v3.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_3.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_3.x | bash -
apt-get install -y iojs

io.js v2.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_2.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_2.x | bash -
apt-get install -y iojs

io.js v1.x :

Lưu ý: nhánh này của io.js không được duy trì tích cực và không được khuyến nghị sử dụng cho sản xuất.

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_1.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_1.x | bash -
apt-get install -y iojs

Tôi khuyên bạn nên xóa thông tin lỗi thời hoặc chuyển chúng xuống cuối câu hỏi để thông tin hiện tại được đọc trước.
k0pernikus

2
Đây là câu trả lời làm việc cho tôi!
eri0o

1
Đối với tất cả những kẻ ngốc bối rối như tôi, có vẻ như việc chạy cài đặt sẽ thay thế hiệu quả những gì bạn từng có trước đây. Vì vậy, tôi nghĩ rằng bạn có thể thực hiện nâng cấp hoặc hạ cấp với quy trình này. Tôi đã nâng cấp từ v8 lên v10 và tôi phát hiện thông báo này trong nhật ký cài đặt : Unpacking nodejs (10.15.0-1nodesource1) over (8.12.0-1nodesource1) ..., chạy node -vsau khi cài đặt vui vẻ hiển thị v10.15.0đó là những gì tôi muốn.
icc97

2
curl {anything} | sudo bash -là một thực hành bảo mật khủng khiếp
krubo

1
@krubo Tôi đồng ý. Người dùng nên kiểm tra tập lệnh trước khi chạy nó. Tuy nhiên, đó từ một nguồn có uy tín ( nodesource.com) và kết nối được bảo mật bởi HTTPS, do đó, có một lượng tin cậy đầy đủ mà bạn có thể đặt vào các tập lệnh đó. Nhưng vâng, nói chung, hãy kiểm tra các tập lệnh trước khi bạn chuyển nó sangsudo bash
dayuloli

28

PPA này đã hết hạn và không được duy trì nữa; bạn nên xem xét các câu trả lời khác thay vì câu trả lời này.

Bạn có thể cài đặt phiên bản mới nhất từ ​​PPA:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs

13
Tôi nghĩ rằng đây sẽ là một câu trả lời tốt hơn nếu bạn (cũng) cung cấp một cách không phải là ppa để làm điều này, ppas nổi tiếng là trở nên lỗi thời và không rõ ràng, về cơ bản làm cho câu trả lời trở nên vô dụng.
pzkpfw

@ bigbadonk420 yeah, nếu bạn vừa googled nó, có lẽ tốt hơn để bỏ qua dòng đầu tiên và chỉ cần cập nhật và cài đặt làm việc cho tôi với nút 0.10.34
Capaj

@Capaj không. điều đó không giúp được gì ...
hủy đăng ký

6
Không nên sử dụng ppa này nữa, nó dường như khá lỗi thời.
Kzqai

19

Tôi sử dụng NVM để xử lý các phiên bản Node của tôi. Rất đơn giản để thiết lập và dễ sử dụng.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Để cài đặt NVM trên toàn cầu thay vào đó, hãy sử dụng lệnh curl sau thay vì lệnh trên (và có lẽ không sử dụng lệnh thứ hai mà chỉ sử dụng lệnh thứ ba)

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | NVM_DIR=/usr/local/nvm bash

Sau đó sử dụng nvm install stable(hoặc chèn số phiên bản thay vì stable) để có phiên bản mới nhất / một phiên bản cụ thể của Nút. Sử dụng nvm use stable(hoặc số phiên bản cụ thể) để sử dụng phiên bản Nút đó. Sử dụng nvm lsđể xem phiên bản Node nào bạn đã cài đặt và nvm uninstall stable(hoặc số phiên bản cụ thể) để xóa phiên bản cụ thể của Nút.

Nguồn: Cài đặt , sử dụng


Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Warren Hill

Xin lỗi cho sự noobness của tôi. Câu trả lời được cập nhật
amnah 31/03 '

đường curl đã cho không hoạt động. Tôi đã sử dụng "curl raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash" như được đưa ra trong github.com/creationix/nvm
Senthil

Đừng quên cập nhật phần url lên phiên bản mới nhất của nvm
Nidhin David

16

Tôi cũng khuyên bạn nên sử dụng nvm thay vào đó và cũng xóa phiên bản đã cài đặt để tránh xung đột trong thiết bị đầu cuối

sudo apt purge nodejs npm

sau đó cài đặt nvm và sử dụng nó

Giải thích video

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

để tải xuống và cài đặt nvm

nvm install node

nên tải xuống và cài đặt phiên bản mới nhất của nút.

Để cập nhật nút sau này chỉ cần làm

nvm install node
nvm alias default node

4
Đây phải là câu trả lời duy nhất được chấp nhận - trong trường hợp bạn muốn có một thiết lập Node lành mạnh và cập nhật trong Ubuntu.
Jose L. Patiño

Điều này cũng hoạt động tốt nhất đối với tôi (có các nútj khá cổ trên EC2 của chúng tôi và đã thử rất nhiều đề xuất và chỉ có điều này làm cho nó hoạt động). Cũng 100% đồng ý với nhận xét trên!
Shan Dou

nvmcài đặt Node.js trên cơ sở mỗi người dùng. Sử dụng nvmsẽ không cung cấp cho bạn một nodelệnh toàn hệ thống . Vì vậy, tôi sẽ khuyên bạn không nên xóa toàn cầu / hệ thống nodeđể các tập lệnh chạy như một người dùng khác vẫn có thể chạy node.
d4nyll

4

Tôi đã thử các lệnh danh sách tương tự trên Ubuntu 14.04 của tôi nhưng nó vẫn bị lỗi.

Các lệnh tôi đã thực hiện là:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs

và lỗi tôi đã nhận được:

Invalid version 0.12.2
Line 299: curl not found in /bin/n

Những gì tôi nhận ra là tiện ích curl không được cài đặt trên hệ điều hành của tôi.

Tôi đã thực thi lệnh:

apt-get install curl

(sử dụng sudolàm tiền tố nếu bạn không su)

và sau đó lặp lại các bước gợi ý trong câu trả lời và nó hoạt động;)


2

Cái này cài đặt nút mới nhất v0.12. * Từ nút nguồn.

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

Đối với nút v4.x

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

2
Bạn đang cài đặt nút từ đầu? Câu hỏi là về việc cập nhật không cài đặt
Green

2

Sử dụng nvm là phương pháp ưa thích. Lần đầu cài đặt nvm:

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

Sau đó cài đặt nodejs:

nvm install node

Bây giờ, bạn có thể dễ dàng chuyển đổi các phiên bản của nút.


2

NVM (Trình quản lý phiên bản nút) với --lts

NVM đã được đề cập tại: https://askubfox.com/a/441527/52975 nhưng ở đây có một ví dụ sử dụng đầy đủ hơn, bao gồm cả --ltsphiên bản lành mạnh .

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.


1

Tôi khuyên bạn trước tiên nên xóa tất cả các cài đặt nodejs sau đó thực thi bên dưới tập lệnh sau khi bạn chỉnh sửa với phiên bản nodejs mong muốn và thư mục cha cài đặt của nó

xem tất cả các phiên bản nodejs có sẵn

https://nodejs.org/dist/

tập lệnh bên dưới sẽ cho phép bạn cài đặt bất kỳ phiên bản nodejs nào trên linux hoặc OSX

#!/bin/bash

#     usage :
#
#     edit two vars in below :  NODE_VER  and  CODE_PARENT_DIR
#
# ... execute this script as yourself unless you choose a root owned value for var CODE_PARENT_DIR
#     whichever id you execute this as determines the id you will issue npm commands as :  npm install -g foo-bar
#
#     NOTE - nodejs comes bundled with npm ... so no need to do separate npm install
#            this scripts runs fine on linux or OSX

# ...  copy all the lines starting here  .. top of copy  ....   and ending ... end of copy  ...
#      and paste into your ~/.bashrc file so proper env vars get set 

# ............... top of copy  ........................  install_node.sh

# export NODE_VER=v7.2.0  # see available versions at https://nodejs.org/dist/
# export NODE_VER=v8.5.0  # edit this line next time you need to update nodejs  
export NODE_VER=v9.3.0  # edit this line next time you need to update nodejs

# ...  pick parent dir of nodejs install  ... comment out or remove ONE of below
# export CODE_PARENT_DIR=/opt/code  # root owned dir ... requires you to sudo prior to npm install going forward
export CODE_PARENT_DIR=${HOME}    # RECOMMENDED execute as yourself including npm install

# ......... following env vars are OK no edits needed ... only ever need to edit above vars

curr_OS=$( uname )

echo curr_OS $curr_OS

if [[ "${curr_OS}" == "Darwin" ]]; then

    OS_ARCH=darwin-x64

elif [[ "${curr_OS}" == "Linux" ]]; then

    OS_ARCH=linux-x64
else
    echo "ERROR - failed to recognize OS $curr_OS"
    exit 5
fi

if [[ -z ${CODE_PARENT_DIR} ]]; then

    echo "ERROR - failed to see env var CODE_PARENT_DIR"
    exit 5
fi

export NODE_CODEDIR=${CODE_PARENT_DIR}/nodejs
export COMSUFFIX=tar.gz
export NODE_NAME=node-${NODE_VER}
export NODE_PARENT=${NODE_CODEDIR}/${NODE_NAME}-${OS_ARCH} 

export PATH=${NODE_PARENT}/bin:${PATH}
export NODE_PATH=${NODE_PARENT}/lib/node_modules

# ............... end of copy  ........................  install_node.sh

# copy and paste above from ... top of copy ... to here into your file ~/.bashrc   

echo
echo "NODE_CODEDIR $NODE_CODEDIR<--"
echo

echo "mkdir -p ${NODE_CODEDIR}"
echo
      mkdir -p ${NODE_CODEDIR}
echo

echo "cd ${NODE_CODEDIR}"
      cd ${NODE_CODEDIR}
echo

# this is compiled code NOT source

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

echo "wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

echo "tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

# ...........  done ........... #

which node

node --version

# ....  bottom of file   install_node.sh

1

Nếu sử dụng nkhông hoạt động, bạn có thể cài đặt phiên bản mới nhất nodejs(tức là phiên bản 8) chạy các lệnh sau:

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

sudo apt-get install -y nodejs

Hướng dẫn thêm ở đây .


0

Nếu bạn đứng sau proxy, có thể bạn có thể gặp lỗi này khi chạy 'sudo n ổn định':

Error: invalid version

Bạn phải đặt các biến env như thế này:

export HTTP_PROXY=http://your-proxy-url:port
export HTTPS_PROXY=http://your-proxy-url:port

Và sau đó chạy lệnh truyền các biến này cho người dùng root:

sudo -E n stable


0

Tôi đang cố gắng cài đặt qua nvm đã được trả lời ở trên nhưng gặp phải một số lỗi trong ubfox 18.04. sau đó tôi trải qua quá trình này

sudo apt purge nodejs npm

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

nvm install node

Sau khi chạy lệnh này, bạn có thể thấy lỗi đó Command 'nvm' not found, did you mean:

trong trường hợp đó bạn có thể chạy lệnh này

source ~/.nvm/nvm.sh

HOẶC bạn có thể đặt nó vào tệp /.bashrc hoặc ~ / .profile để tự động tải nó

sau đó bạn có thể thông qua quá trình tiếp theo

nvm install node
nvm alias default node
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.