Nâng cấp Node.js lên phiên bản mới nhất trên Mac OS


722

Hiện tại tôi đang sử dụng Node.js v0.6.16 trên Mac OS X 10.7.4. Bây giờ tôi muốn nâng cấp nó lên Node.js v0.8.1 mới nhất. Nhưng sau khi tải xuống và cài đặt tệp gói mới nhất từ ​​nodejs.org, tôi thấy hệ thống đó vẫn đang sử dụng v0.6.16 thay vì v0.8.1 khi tôi gõ "nút -v" trong một thiết bị đầu cuối. Có bất kỳ bước mà tôi đã bỏ lỡ? Hoặc, tôi có nên gỡ cài đặt triệt để phiên bản cũ trước khi cài đặt phiên bản mới nhất không?

BTW, tôi biết rằng nvm có thể giúp quản lý gói nodejs

https://github.com/creationix/nvm/

Có cách nào để nâng cấp Node.js mà không cần sử dụng không?

Tôi đã giải quyết vấn đề này, nhưng dường như không có câu trả lời rõ ràng nào cho câu hỏi này cho Node.js mới nhất.


Cảm ơn Bob. Tôi đã cập nhật câu hỏi của tôi.
afterglowlee

Không chắc chắn về một câu trả lời, nhưng để làm rõ là một quá trình Node đang chạy khi bạn cập nhật nó?
Bob Davies

Không, tôi không nghĩ có quá trình Node nào đang chạy. Và sau khi khởi động lại hệ điều hành, lệnh "node -v" vẫn hiển thị v0.6.16 đang chạy.
afterglowlee

1
Folks - đây là một câu hỏi 6 năm tuổi và với một số câu trả lời cũ không kém. Không còn nghi ngờ gì nữa, đó là những thực tiễn tốt nhất hồi đó. Nhưng như năm 2018, brew upgrade nodenên hoạt động tốt. Xin vui lòng xem câu trả lời của wprl dưới đây.
pscl

2
@pscl Kể từ tháng 2 năm 2019, trang web npm thực sự khuyên bạn nên sử dụng trình quản lý phiên bản Node như nhoặc nvmđể cài đặt và nâng cấp cả Node và npm.
alexw

Câu trả lời:


1399

Đây là cách tôi nâng cấp thành công từ v0.8.18để v0.10.20 mà không cần bất kỳ các yêu cầu khác như bia vv, (gõ các lệnh trong terminal):

  1. sudo npm cache clean -f (buộc) xóa bộ nhớ cache npm của bạn
  2. sudo npm install -g ncài đặt n (điều này có thể mất một lúc)
  3. sudo n stable nâng cấp lên phiên bản ổn định hiện tại

Lưu ý rằng sudocó thể nhắc mật khẩu của bạn.

Lưu ý bổ sung về bước 3: stablecó thể được trao đổi latest, lts(hỗ trợ dài hạn) hoặc bất kỳ số phiên bản cụ thể nào, chẳng hạn như 0.10.20.

Nếu số phiên bản không hiển thị khi nhập node -v, bạn có thể phải khởi động lại.

Các hướng dẫn này cũng được tìm thấy ở đây: davidwalsh.name/upTHER-nodejs
Thông tin thêm về gói n được tìm thấy ở đây: npmjs.com/package/n
Thông tin thêm về lịch phát hành của Node.js: github.com/nodejs/Release


6
đã làm việc để cập nhật nút từ v0.10 đến v0.12 trong macos x snow Leopard. Cảm ơn bạn.
Salvador P.

3
FWIW bạn có thể sử dụng 'n lts' để cài đặt phiên bản hỗ trợ dài hạn thay vì phiên bản ổn định hiện tại (ví dụ 4.4.3 thay vì 5.10.1 tại thời điểm viết)
StephenT

2
Bia đang xảy ra lỗi. Đây là câu trả lời chính xác, hiện tại.
oguzhan00

5
sudo n ltslà bước cuối cùng giúp bạn có phiên bản Hỗ trợ dài hạn
Slartibartfast

3
Điều này đã làm việc, nhưng không ai giải thích các lệnh tại sao cài đặt "n" giúp. Hôm nay tôi mới nhận ra rằng "n" là trình quản lý phiên bản Node.js, như đã giải thích phần nào trên trang web npm
Đánh dấu

861

Nếu ban đầu bạn đã cài đặt Node.js với Homebrew , hãy chạy:

brew update
brew upgrade node
npm install -g npm

Hoặc như một lớp lót:

brew update && brew upgrade node && npm install -g npm

Một cách thuận tiện để thay đổi phiên bản là sử dụng nvm :

brew install nvm

Để cài đặt phiên bản mới nhất của Node.js với nvm:

nvm install node

Nếu bạn đã cài đặt qua một gói, sau đó tải xuống phiên bản mới nhất từ nodejs.org . Xem Cài đặt Node.js và cập nhật npm .


2
@afterglowlee Bạn có thể thử gỡ cài đặt nút cũ trước khi cài đặt lại nút mới: stackoverflow.com/questions/9044788/
mẹo

14
Tôi vừa nêu lên câu trả lời này, nhưng sau 7 phút chờ đợi, brew nói với tôi rằng cài đặt không thành công ... Tôi cũng đã thử port upgrade node, nhưng brew đã làm rối gói và cổng không thể tìm thấy nút bây giờ ... Cuối cùng tôi đã đến nodejs.org để tải về gói cài đặt, và bùng nổ! Mọi thứ diễn ra tốt đẹp, bao gồm cả npm!
Jinzhao Huo

3
@Jinzhao Bạn không nên cài đặt nhiều hơn một trong các Homebrew, MacPorts hoặc Fink.
wprl

2
trong phiên bản ủ hiện tại có ghi "Nếu bạn tự cập nhật npm, KHÔNG sử dụng lệnh cập nhật npm. Cách cập nhật được đề xuất để cập nhật npm là: npm install -g npm @ muộn nhất"
Pascal

7
Chạy npm install -g nodesau khi làm theo các hướng dẫn ở trên nếu phiên bản nút của bạn vẫn chưa được cập nhật.
Thilina Hasantha

172

Bởi vì điều này dường như đứng đầu Google khi tìm kiếm cách nâng cấp nodejs trên mac, tôi sẽ đưa ra lời khuyên cho bất kỳ ai đi cùng trong tương lai mặc dù tuổi của nó.

Nâng cấp qua NPM
Bạn có thể sử dụng phương pháp được mô tả bởi @Mathias ở trên hoặc chọn phương thức đơn giản hơn sau qua thiết bị đầu cuối.

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

Sau đó, bạn có thể chọn để xác nhận nâng cấp

node -v

Nodej của bạn đã được nâng cấp lên phiên bản mới nhất. Nếu bạn muốn nâng cấp lên một bản cụ thể, hãy nói v0.8.19 sau đó thay vì

sudo n stable

sử dụng

sudo n 0.8.19

EDIT Tránh sử dụng sudo trừ khi bạn cần. Tham khảo bình luận của Steve trong các bình luận


4
Tại sao bạn lại downvote một câu trả lời và không thêm một bình luận giải thích tại sao?
Kennedy Nyaga

Bởi vì bạn khuyên nên sử dụng sudo.
OZ_

2
Điều này hoạt động, nhưng: có thực sự cần thiết để sử dụng --forcecờ trên cache clean? Và tôi không cần sudohai lệnh đầu tiên.
Steve Bennett

Cảm ơn @SteveBennett đã thêm vào đó, tôi đã thêm sudo để bao gồm những người mới sẽ cần nó, thay vì để họ bị mắc kẹt. Hơn nữa, có sudo sẽ làm việc trong cả hai trường hợp.
Kennedy Nyaga

5
Đôi khi sử dụng sudo khi không cần thiết thực sự gây ra sự lộn xộn, bởi vì bạn kết thúc với các tệp thuộc sở hữu root, sau đó không thể sửa đổi mà không có sudo.
Steve Bennett

59

Tới http://nodejs.org và tải về và chạy trình cài đặt. Nó hoạt động ngay bây giờ - đối với tôi ít nhất.


Bạn có biết cách cài đặt các bản cập nhật jode.js trong OS / X không?
Dimitrios Mistriotis

Tôi không chắc tôi hiểu những gì bạn đang hỏi
Spoeken

1
Xin lỗi vì sự nhầm lẫn (viết vội vàng). Tôi đã cài đặt node.js trực tiếp từ liên kết tải xuống của trang web, Phiên bản hiện tại: v0.8.14. Khi nói v0.8.15 được phát hành, tôi có phải tải xuống lại không, nó có tự động cập nhật không, nó có gọi về nhà và thông báo cho tôi không? Ví dụ như với homebrew, tôi đang thực hiện nâng cấp bia (do đó tùy thuộc vào tôi)
Dimitrios Mistriotis

1
Tôi không nghĩ rằng nó sẽ gọi về nhà. Bạn sẽ phải kiểm tra thường xuyên và tải xuống phiên bản mới từ trang web của họ. Nhưng tôi không 100% về điều này.
Spoeken

5
có lẽ là cách dễ nhất ở đây
Mohit

45

Bạn có thể cài đặt nvm và cài đặt nhiều phiên bản Node.js.

curl https://raw.github.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh

và sau đó chạy:

nvm install 0.8.22  #(or whatever version of Node.js you want)

bạn có thể xem những phiên bản bạn đã cài đặt:

nvm list

và bạn có thể thay đổi giữa các phiên bản với:

nvm use 0.8.22

Điều tuyệt vời khi sử dụng NVM là bạn có thể thử nghiệm các phiên bản khác nhau cùng với nhau. Nếu các ứng dụng khác nhau yêu cầu các phiên bản Node.js khác nhau, bạn có thể chạy cả hai.


2
Tôi đang sử dụng phương pháp này bây giờ. Dường như với tôi rằng đây là cách tốt nhất để giữ nhiều phiên bản chạy trên cùng một máy.
afterglowlee

28

Tôi sử dụng trình quản lý phiên bản Node (gọi là n) cho nó.

npm install -g n

sau đó

n latest

HOẶC LÀ

n stable

2
Phiên bản LTSn lts
Sergio

24

Đơn giản chỉ cần truy cập trang web nút JS và cài đặt phiên bản mới nhất.

Đừng cài đặt phiên bản mới nhất thay vì phiên bản ổn định được đề nghị. Nó sẽ cho bạn tự do sử dụng các tính năng ES6 mới nhất trên nút.

Có thể được tìm thấy ở đây Node JS .

Ngoài ra để cập nhật npm , bạn sẽ phải sử dụng lệnh này.

sudo npm i -g npm@latest

Tất cả các dự án của bạn sẽ hoạt động tốt.


Tùy chọn khác cho mac :: brew update && brew install node && npm -g npm


20

Trên macOS, cách khuyến nghị homebrew là chạy

brew install node
npm install -g npm@latest

Ảnh chụp màn hình của Terminal Terminal


1
Nó sẽ cài đặt phiên bản thực sự mới nhất, không chỉ là phiên bản mới nhất.
Nick Woodhams 24/2/2015

11

Tôi có thể nâng cấp nút bằng lệnh sau

nvm install node --reinstall-packages-from=node

8

buồn thay, nkhông làm việc cho tôi. Tôi sử dụng node version manager or nvmvà nó hoạt động như một bùa mê. Đây là liên kết về cách cài đặt nvm: https://github.com/creationix/nvm#installation

  • nvm i 8.11.2 nâng cấp lên LTS mới nhất
  • nvm use 8.11.2 sử dụng nó
  • node -v kiểm tra phiên bản mới nhất của bạn

1
Đây là một trong những làm việc cho tôi. Tôi đã thử một vài bình luận hàng đầu, nhưng sau khi làm theo các bước, nút vẫn bị kẹt ở v6. Cảm ơn!
gedii

1
Điều này làm việc cho tôi. cảm ơn jannomeister. xin vui lòng trả lời cho câu trả lời được chấp nhận
Richard Abear 15/03/19

6

Truy cập trang web nodejs.org và tải xuống pkg mới nhất sau đó cài đặt. nó làm việc cho tôi

Tôi đã sử dụng brew để nâng cấp nút của mình. Nó đã được cài đặt nhưng nó nằm trong /usr/local/Cellar/node/5.5.0và có một nút mặc định /usr/local/bin/nodelàm phiền tôi. Tôi không muốn tạo liên kết mềm vì tôi thực sự không biết cách thức tổ chức bia. Vì vậy, tôi tải pkgtập tin, cài đặt và tôi đã nhận được thông tin này:

Node.js đã được cài đặt tại

/usr/local/bin/node

npm đã được cài đặt tại

/usr/local/bin/npm

Hãy chắc chắn rằng đó /usr/local/binlà trong $ PATH của bạn.

Bây giờ việc nâng cấp đã hoàn tất


5

Bạn chỉ có thể truy cập nodejs.org và tải xuống gói mới nhất. Nó sẽ cập nhật thích hợp cho bạn. NPM cũng sẽ được cập nhật.


2
Dễ dàng nhất, nếu ban đầu bạn cài đặt nó thông qua trang web.
Elwin

4

Dễ dàng nad bước an toàn

Bước 1: Cài đặt NVM

brew install nvm

Bước 2: Tạo thư mục cho NVM

mkdir ~/.nvm/

Bước 3: Cấu hình các biến môi trường của bạn

nano ~/.bash_profile

PASTE DƯỚI MÃ

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

source ~/.bash_profile

Bước 4: Kiểm tra lại công việc của bạn

nvm ls

Bước 5: Cài đặt nút

nvm install 9.x.x

Bước 6: Nâng cấp

nvm ls-remote

   v10.16.2   (LTS: Dubnium)
   v10.16.3   (Latest LTS: Dubnium) ..........

cài đặt nvm v10.16.3

Xử lý sự cố

Error Example #1
rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

https://www.chrisjmendez.com/2018/02/07/install/


3

Bạn có thể chạy nhưng bạn không thể ẩn ... Cuối cùng, bạn sẽ sử dụng NVM .


2
Hoặc gói 'n' ... Xem câu trả lời của Kenny West nếu bạn muốn một trình quản lý gói đơn giản mà bạn có thể cài đặt qua npm.
deepfirstdesigner

3

Tôi nghĩ rằng cách đơn giản nhất để sử dụng phiên bản mới nhất của Node.js là lấy tệp pkg Node.js mới nhất trong trang web https://nodejs.org/en/doad/cản/ nếu bạn muốn sử dụng phiên bản Node khác .js bạn có thể sử dụng nvm hoặc n để quản lý nó.


3
sudo npm install -g n

và sau đó

sudo n latest for linux/mac users

Đối với Windows, vui lòng cài đặt lại nút.


3

Nvm Nvm là trình quản lý phiên bản nút dựa trên tập lệnh. Bạn có thể cài đặt nó dễ dàng với một cuộn và bash one-liner như được mô tả trong tài liệu. Nó cũng có sẵn trên Homebrew.

Giả sử bạn đã cài đặt thành công nvm. Sau đây sẽ cài đặt phiên bản mới nhất của nút.

 nvm install node --reinstall-packages-from=node

Tùy chọn cuối cùng cài đặt tất cả các gói npm toàn cầu cho phiên bản mới của bạn. Bằng cách này, các gói như mocha và nút-Inspector tiếp tục hoạt động.

N N là trình quản lý phiên bản nút dựa trên npm. Bạn có thể cài đặt nó bằng cách cài đặt một số phiên bản đầu tiên của nút và sau đó chạy npm install -g n.

Giả sử bạn đã cài đặt thành công n. Sau đây sẽ cài đặt phiên bản mới nhất của nút.

sudo n latest

Homebrew Homebrew là một trong hai trình quản lý gói phổ biến cho Mac. Giả sử bạn đã cài đặt nút trước đó với nút cài đặt brew. Bạn có thể cập nhật các công thức và nâng cấp lên phiên bản Node.js mới nhất với thông tin sau.

1 brew update
2 brew upgrade node

MacPorts MacPorts là trình quản lý gói khác cho Mac. Sau đây sẽ cập nhật cây cổng cục bộ để có quyền truy cập vào các phiên bản cập nhật. Sau đó, nó sẽ cài đặt phiên bản mới nhất của Node.js. Điều này hoạt động ngay cả khi bạn đã cài đặt phiên bản trước của gói.

1 sudo port selfupdate
2 sudo port install nodejs-devel

brew upgrade nodelà một làn gió
khawarizmi 20/07/18

Đây là những gì làm việc cho tôi trên OSX. Tôi có thể đã cài đặt NVM vì node -vtiếp tục đưa cho tôi 6.11.1ngay cả sau khi các lệnh liên quan đến n latestvà v.v. Một nâng cấp bia làm việc. Cảm ơn.
Khom Nazid

2

Hai phương pháp tôi đã thử không hoạt động:

  1. Sử dụng npm

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

  1. Nút cài đặt thủ công từ trang web chính thức ( https://nodejs.org/vi/ )

Sau khi thử, node -vvẫn hiển thị phiên bản cũ của nút.


Phương pháp dưới đây làm việc cho tôi:

Bước 1: Cài đặt nvm (để biết thêm chi tiết: https://github.com/creationix/nvm#installation )

Mở terminal và gõ lệnh này:

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

Đóng thiết bị đầu cuối và mở lại nó.

Gõ lệnh này để kiểm tra xem nvm đã được cài đặt chưa:

command -v nvm

nhập mô tả hình ảnh ở đây

Bước 2: Để tải xuống, biên dịch và cài đặt bản phát hành nút mới nhất, hãy gõ vào đây:

nvm install node ("nút" là bí danh cho phiên bản mới nhất)

Để kiểm tra xem nút có được phiên bản mới nhất không (v10.11.0).

nhập mô tả hình ảnh ở đây

Cài đặt nút mới nhất cũng cài đặt npm mới nhất.

Kiểm tra xem npm có phiên bản mới nhất không (6.4.1).

nhập mô tả hình ảnh ở đây


Tôi thấy phương pháp này không hiệu quả với tôi bây giờ. Đây là cách tôi đã làm thay thế: npm install -g n sudo n 10.11.0(trong trường hợp của tôi, tôi chỉ muốn cập nhật lên 10.11.0) Sau đó, nó được cập nhật thành 10.11.0node -v
Saviah Kao


1

Sử dụng nvm để nâng cấp nút theo yêu cầu của dự án ..

cài đặt nvm thông qua homebrew .. brew update brew cài đặt nvm mkdir ~ / .nvm nano ~ / .bash_profile

Trong tệp .bash_profile của bạn (bạn có thể đang sử dụng một tệp khác, theo trình bao của bạn), hãy thêm vào như sau:

xuất NVM_DIR = ~ / .nvm nguồn $ (brew --prefix nvm) /nvm.sh

nguồn ~ / .bash_profile echo $ NVM_DIR


0

Tôi đã từng gặp vấn đề tương tự. Đây là những gì làm việc cho tôi vì tôi đã tải xuống và cài đặt node.js trên toàn cầu từ trang web của node.js.

Những gì tôi đã làm là cho NVM (Trình quản lý phiên bản nút) thử. Vui lòng thực hiện các lệnh theo thứ tự sau trong thiết bị đầu cuối của bạn

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

  2. lệnh -v nvm

  3. nút cài đặt nvm

  4. nút -v (để xác nhận cập nhật)


0

Bạn có thể trực tiếp sử dụng curl để nâng cấp nút lên phiên bản mới nhất. Chạy lệnh sau:

curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | sed -nE 's|.*>node-(.*)\.pkg</a>.*|\1|p')}.pkg" > "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"

Tham khảo: https://nodejs.org/en/doad/package-manager/#macos


0

Đây chỉ là để thêm một số thông tin cho những người không có Node cài đặt với Homebrew nhưng nhận rằng lỗi rất khi cố gắng cài đặt các gói với NPM trên Mac OS X .

Tôi tìm thấy bài viết hay này giải thích cách loại bỏ hoàn toàn Node bất cứ cách nào bạn cài đặt ban đầu.

Sau khi nút , npmn bị xóa hoàn toàn khỏi máy của tôi, tôi mới cài đặt lại Node.js bằng trình cài đặt .pckg chính thức từ trang web của Node và mọi thứ trở lại bình thường.

Hy vọng điều này sẽ giúp ai đó.


-1

Tôi đã có thể cập nhật trong ~ 20 giây chỉ với một dòng mã

sudo n latest

Các lệnh khác không hoạt động đối với tôi, nhưng lệnh này đã hoạt động. Hy vọng nó sẽ giúp được ai đó.

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.