Làm cách nào để cập nhật NodeJS và NPM lên các phiên bản tiếp theo?


1663

Tôi chỉ cần cài đặt Node.jsnpm(cho các mô-đun bổ sung).

Làm cách nào tôi có thể cập nhật Node.js và các mô-đun mà tôi đang sử dụng lên các phiên bản mới nhất?

Có thể npmlàm điều đó hay tôi phải xóa và cài đặt lại Node.js và npm để có các phiên bản tiếp theo?

Tôi đã làm theo các bước này trong npmphần.


Tôi đã chỉ ra rằng thậm chí một cách cập nhật npm chính xác hơn là sử dụng nútource.com Xem stackoverflow.com/a/24760147/544463
Yauhen Yakimovich

Bản sao có thể có của Cách cập nhật npm
Simone Poggi

7
@Motocarota Nhìn vào ngày, câu hỏi khác được nhân đôi của câu hỏi này ...
Andre Figueiredo

6
có công cụ nvmMà cung cấp cho bạn tùy chọn để có nhiều hơn một phiên bản chạy của nút + NPM
Искрен Станиславов

Mọi thứ đã thay đổi tốt hơn vì điều này lần đầu tiên được hỏi (nếu bạn không cần quản lý phiên bản). Xem Cập nhật nút (Windows, Mac & Linux) .
swelet

Câu trả lời:


1755

Xem tài liệu cho updatelệnh:

npm update [-g] [<pkg>...]

Lệnh này sẽ cập nhật tất cả các gói được liệt kê lên phiên bản mới nhất (được chỉ định bởi cấu hình thẻ), tôn trọng semver.

Ngoài ra, hãy xem tài liệu về cài đặt Node.js và NPMNâng cấp NPM .

Câu trả lời ban đầu sau đây là từ Câu hỏi thường gặp cũ không còn tồn tại, nhưng sẽ hoạt động cho Linux và Mac:

Làm cách nào để cập nhật npm?

npm install -g npm

Xin lưu ý rằng lệnh này sẽ xóa phiên bản npm hiện tại của bạn. Đảm bảo sử dụng sudo npm install -g npmnếu trên máy Mac.

Bạn cũng có thể cập nhật tất cả các gói địa phương lỗi thời bằng cách thực hiện npm update mà không có bất kỳ đối số hoặc gói toàn cầu nào bằng cách thực hiện npm update -g.

Đôi khi, phiên bản npm sẽ tiến triển sao cho phiên bản hiện tại không thể được cài đặt đúng với phiên bản mà bạn đã cài đặt. (Hãy xem xét, nếu có lỗi trong lệnh cập nhật.) Trong những trường hợp đó, bạn có thể làm điều này:

curl https://www.npmjs.com/install.sh | sh

Để tự cập nhật Node.js, tôi khuyên bạn nên sử dụng nvm, Trình quản lý phiên bản Node .


122
npm update npm -gkhông hoạt động với tôi trên windows - nó đã hoàn thành mà không có đầu ra nhưng npm vẫn giữ nguyên phiên bản (1.3.11 khi phiên bản gần đây nhất là 1.3,14)
BT

11
cũng có curl theo dõi chuyển hướng với -Lcurl -L https://npmjs.org/install.sh | sudo sh
AndyL

40
Tôi đã làm như bạn nói npm update npm -gvà bây giờ tôi không có lệnh npm.
alexserver

18
Sử dụng npm để cài đặt phiên bản mới của chính nó. Tôi ngửi thấy những thứ nổ tung.
Claudio Holanda

15
KHÔNG sử dụng cài đặt sudo npm -g npm! Điều này sẽ gỡ cài đặt nó!
chris123

434

Tôi thấy cách cập nhật nút thực sự gọn gàng này trên blog của David Walsh , bạn có thể thực hiện bằng cách cài đặt n:

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

Nó sẽ cài đặt phiên bản ổn định hiện tại của node.


EDIT: Vui lòng không sử dụng n nữa. Tôi khuyên bạn nên sử dụng nvm. Bạn chỉ có thể cài đặt ổn định bằng cách làm theo các lệnh dưới đây:

nvm ls-remote
nvm install <version> 
nvm use <version>

8
Từ chối chạy cho windows x64 (nhưng rõ ràng là có win32). Điều đó không phù hợp với dự án Node.js.
rainabba

8
Không được hỗ trợ cho Windows. Tôi nhận ra rằng việc sử dụng Linux sẽ dễ dàng hơn, nhưng tại nơi làm việc, tôi không được tự do chọn hệ điều hành của mình. Như @rainabba nói, tinh thần của dự án Node.js là đa nền tảng, và điều này thì không.
Kevin Dice

1
Trong Windows, bạn chỉ cần tải xuống phiên bản nút mới nhất và cài đặt nó. Nó sẽ nâng cấp cả nút và npm.
Daniel Weiner

1
Trong windows 10, bạn cần tải xuống trình cài đặt từ nodejs.org/vi vì lệnh này không hoạt động. Tôi không nói về sudo mà không có ý nghĩa trong các cửa sổ, tôi có nghĩa là các lệnh.
kamayd

12
Tại sao bạn lại nói 'Làm ơn đừng sử dụng n nữa'? Bất kỳ lý do cụ thể nào ?
Qiulang

316

Cập nhật npm thật dễ dàng:

npm install npm@latest -g

Điều này gây ra lỗi nghiêm trọng, ít nhất là cho người dùng mac xem tại đây
dmr07

3
Sử dụng windows 10 và nút v5.7.0, lệnh npm install npm@latest -gkhông thể nâng cấp từ npm 2.7.4 lên npm 3.9.3.
lướt sóng

3
Cảm ơn điều này đã làm việc cho tôi, nó khá đơn giản. Nhưng tôi đã phải như vậy sudo npm install npm@latest -gtất cả. Upvote
Siddhartha Chowdhury

12
Đây cũng là câu trả lời chính thức: docs.npmjs.com/getting-started/installing-node
Travis Reeder

2
Rất đơn giản, cảm ơn bạn. nó làm việc cho tôi ngay lập tức :) Nhiều người khác cũng không làm việc cho tôi.
læran91

153

Tôi hiểu câu hỏi này dành cho máy Linux nhưng chỉ trong trường hợp bất kỳ ai đang tìm kiếm giải pháp Windows, chỉ cần truy cập trang web Node.js , nhấp vào tải xuống nút trên trang chủ và thực hiện chương trình cài đặt.

Rất may, nó đã xử lý tất cả mọi thứ và chỉ với vài cú nhấp chuột vào nút 'Tiếp theo', tôi đã có phiên bản 0.8.15 Node.js mới nhất chạy trên máy Windows 7 của mình.


1
vâng Điều này làm việc cho tôi. Im trên cửa sổ. các ncông việc phương pháp didnt. muốn có một cách tốt hơn để làm điều đó.
Alexis

1
Đây là cách tốt nhất và dễ nhất để nâng cấp nút trên windows. làm việc cho tôi tốt Cảm ơn anmol
peter

6
nếu bạn đang cập nhật từ npm v1.x lên 2.x trên Windows, bạn có thể đã xóa các tệp 'npm', 'npm.cmd' khỏi Thư C: \ Program Files \ nodejs tựa sau khi cài đặt hoặc udpating npm. Xem: escapologist.wordpress.com/2014/09/29/...
Tom Wayson

Đừng quên khởi động lại sau đó!
Humppakäräjät

Điều này hoạt động với Windows 10, và cả cập nhật Node và npm. Rất lắt léo.
Mike_Laird

120

Như bạn đã biết, NPM hiện đang đi kèm với Node.js . Điều đó có nghĩa là nếu bạn đã cài đặt node.js , bạn cũng đã cài đặt npm .

Ngoài ra, hãy chú ý đến bảng phiên bản phát hành node.jsnpm cho chúng ta thấy khả năng tương thích các phiên bản gần đúng. Đôi khi, sự khác biệt về phiên bản có thể gây ra lỗi không tương thích.

Vì vậy, nếu bạn là nhà phát triển, thì đó là "cách tốt nhất" để quản lý môi trường phát triển của bạn bằng cách sử dụng một trong các node.js quản lý phiên bản

Dưới đây là danh sách và ghi chú sử dụng của một số phổ biến nhất:

Homebrew (macOS)

Nếu bạn đang dùng macOS , bạn có thể sử dụng Homebrew .

Trên thực tế, nó không chỉ là một trình quản lý phiên bản node.js.

Để cài đặt Homebrew cho máy Mac của bạn:

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Để cài đặt node.jsnpm bằng Homebrew, hãy chạy:

$ brew install node

Sau đó, bạn sẽ có thể cập nhật chúng bằng cách sử dụng:

$ brew update && brew upgrade node

Ngoài ra, bạn cũng có thể chuyển đổi giữa các phiên bản node.js :

$ brew switch node 0.10.26

npm sẽ được nâng cấp / hạ cấp tự động.

n (macOS, Linux)

n rất có thể là rvm (Trình quản lý phiên bản Ruby) và được sử dụng để quản lý đồng thời các phiên bản node.jsnpm . Nó được viết trên shell Linux thuần túy và có sẵn dưới dạng một mô-đun npm . Vì vậy, nếu bạn đã có bất kỳ Node.js phiên bản được cài đặt, bạn có thể cài đặt / cập nhật các n gói qua npm:

$ npm install -g n

Tải xuống, cài đặt và chuyển đổi sang phiên bản node.jsnpm dễ dàng như:

$ n 0.10.26
$ n 0.8.17
$ n 0.9.6

Để tải xuống, cài đặt và chuyển sang bản phát hành chính thức mới nhất , hãy sử dụng:

$ n latest

Để tải xuống, cài đặt và chuyển sang bản phát hành chính thức ổn định mới nhất , hãy sử dụng:

$ n stable

Để chuyển sang phiên bản hoạt động trước đó (aka $ cd -), sử dụng:

$ n prev

Nếu bạn muốn xem danh sách các phiên bản node.js đã cài đặt , chỉ cần chạy ntừ dòng lệnh của bạn. Đầu ra sẽ giống như sau:

$ n

  0.10.26
 0.8.17
  0.9.6

Trong đó dấu chấm (•) có nghĩa là phiên bản hiện đang hoạt động. Để chọn một phiên bản node.js khác từ danh sách, sử dụng các phím Up/ Downmũi tên và kích hoạt bằng Enterphím.

Để liệt kê các phiên bản có sẵn để cài đặt:

$ n lsr

nvm (macOS, Linux)

nvm cũng giống như rvm , thậm chí tên lệnh và cách sử dụng cũng rất giống nhau.

Để cài đặt nvm, bạn có thể sử dụng tập lệnh cài đặt (yêu cầu git) bằng cách sử dụng cURL:

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

hoặc wget:

$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh

Để tải xuống và cài đặt một phiên bản node.jsnpm cụ thể , hãy sử dụng:

$ nvm install 0.10

Sau đó, bạn có thể chuyển sang phiên bản đã cài đặt, sử dụng:

$ nvm use 0.10

Ngoài ra, bạn có thể tạo .nvmrctệp chứa số phiên bản, sau đó chuyển sang phiên bản đã chỉ định bằng lệnh sau:

$ nvm use

Để xem danh sách các phiên bản node.js đã cài đặt , hãy sử dụng:

$ nvm ls

Để liệt kê các phiên bản có sẵn để cài đặt:

$ nvm ls-remote

cửa sổ nvm (Windows)

nvm-windows là một tiện ích quản lý phiên bản node.js cho Windows, được viết trớ trêu bằng Go .

Nó không giống với nvm . Tuy nhiên, việc sử dụng như một trình quản lý phiên bản node.js rất giống nhau.

Để cài đặt nvm-windows , cần phải gỡ cài đặt mọi phiên bản hiện tại của node.jsnpm . Sau đó, tải xuống và chạy trình cài đặt mới nhất từ ​​các bản phát hành .

Nâng cấp nvm-windows , hãy chạy trình cài đặt mới. Nó sẽ ghi đè một cách an toàn các tệp mà nó cần cập nhật mà không cần chạm vào các cài đặt node.js của bạn .

nvm-windows chạy trong trình quản trị. Bạn sẽ cần khởi động Powershell hoặc Command Prompt với tư cách Quản trị viên để sử dụng nvm-windows .

Trước khi sử dụng, bạn cũng có thể cần phải bật nvm-windows bằng lệnh sau:

C:\> nvm on

Để tải xuống và cài đặt một node.js cụ thể vàphiên bản npm, hãy sử dụng:

C:\> nvm install 0.12

Sau đó, bạn có thể chuyển sang phiên bản đã cài đặt, sử dụng:

C:\> nvm use 0.12

Nếu bạn muốn xem danh sách node.js đã cài đặt phiên bản , hãy sử dụng:

C:\> nvm list

Để liệt kê các phiên bản có sẵn để cài đặt:

C:\> nvm list available

Tôi thích câu trả lời này. +1! Nhưng nó thậm chí còn hữu ích hơn khi đi kèm với nó với một số lời giải thích về các trình quản lý gói khác nhau. I E; tại sao tôi nên sử dụng cái này hơn cái kia Tôi thực sự sẽ giúp đưa ra bối cảnh ..
7wp

với lệnh "brew update && brew nâng cấp nút", npm không được cập nhật lên phiên bản mới nhất như đã đề cập "... NPM cũng sẽ được cập nhật .."
vikramvi

Tôi thường thích homebrew nhưng thực tế nó đòi hỏi phải cập nhật trước khi tôi có thể nâng cấp npmtrên nó rất chậm ...
Patrick Roberts

104

Trước tiên hãy kiểm tra phiên bản NPM của bạn

npm -v

1) Cập nhật NPM lên phiên bản hiện tại:

Xem phiên bản NPM hiện tại:

npm view npm version

Cập nhật npm lên phiên bản hiện tại:

npm i -g npm


2) Liệt kê tất cả các phiên bản NPM có sẵn và thực hiện cài đặt / cập nhật / khôi phục tùy chỉnh

Xem tất cả các phiên bản bao gồm "alpha", "beta" và "rc" (ứng cử viên phát hành)

npm view npm versions --json

Cài đặt lại NPM thành một phiên bản cụ thể được chọn từ danh sách phiên bản - ví dụ: 5.0.3

npm i -g npm@5.0.3
  • Cài đặt một phiên bản sẽ tự động loại bỏ phiên bản hiện được cài đặt.

  • Đối với các lệnh nạp trước Linux và iOS với sudo


Tôi gặp phải một loạt lỗi bao gồm Error: EACCES: permission denied, unlinkchạy lệnh trên với sudocông việc
Imran Ali

57

Nâng cấp cho người dùng Windows

Người dùng Windows nên đọc Khắc phục sự cố> Nâng cấp trên Windows trong wiki npm.

Nâng cấp trên windows 10 bằng PowerShell (chỉnh sửa bên thứ 3)

Liên kết ở trên Khắc phục sự cố # nâng cấp trên cửa sổ trỏ đến trang github npm-windows-nâng cấp các dòng bên dưới là các trích dẫn từ readme. Tôi đã nâng cấp thành công từ npm 2.7.4 lên npm 3.9.3 bằng cách sử dụng nút v5.7.0 và powershell (có lẽ là phiên bản powershell 5.0.10586.122)

Trước tiên, hãy đảm bảo rằng bạn có thể thực thi các tập lệnh trên hệ thống của mình bằng cách chạy lệnh sau từ PowerShell nâng cao. Để chạy PowerShell với tư cách Quản trị viên, bấm Bắt đầu, tìm kiếm PowerShell, bấm chuột phải vào PowerShell và chọn Chạy với tư cách Quản trị viên.

Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force    

Sau đó, để cài đặt và sử dụng công cụ nâng cao này, hãy chạy (cũng từ PowerShell hoặc cmd.exe nâng cao):

npm install --global --production npm-windows-upgrade
npm-windows-upgrade

hoặc chỉ chạy: npm cài đặt -g npm
Gal Margalit

1
Không có Gal, bạn đang nhầm lẫn vấn đề, chạy npm install -g npm không hoạt động trên Windows, bạn đã đọc các vấn đề mà người dùng Windows gặp phải (được liệt kê ở trên chưa?). Sử dụng phương pháp Powershell như trong câu trả lời của Surf. Cảm ơn smurf, cuối cùng đã quản lý để nâng cấp yeeehaaaa!
Davet

55

Cập nhật đầu tiên npm,

npm install -g npm@next

Sau đó cập nhật nodelên phiên bản tiếp theo,

npm install -g node@nexthoặc, npm install -g n@next hoặc mới nhất,

npm install -g node@latest hoặc là npm install -g node

kiểm tra sau khi cài đặt phiên bản,

node --versionhoặc là node -v


51

SIMPLY SỬ DỤNG NÀY

npm i -g npm

Đây là những gì tôi nhận được nhắc trên bảng điều khiển của mình từ npm khi bản cập nhật / sửa lỗi mới được phát hành:

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


1
Sau khi tôi chạy nó, tôi phải thoát khỏi bash terminal và khởi động lại để xem các thay đổi. Bởi vì pathđể npmthay đổi trong quá trình cập nhật và đối với một số lý do nó giữ thực hiện các phiên bản cũ cho thấy các phiên bản cũ của trình khi bạn thực hiệnnpm -v
anon58192932

26
  • Để cập nhật nút, sử dụng nvm (hoặc nvmw cho windows).

  • Để cập nhật npm , npm update npm -glệnh không hoạt động đối với tôi (trên windows). Những gì đã làm là cài đặt lại npm theo tài liệu : " Bạn có thể tải xuống tệp zip từ https://npmjs.org/dist/ và giải nén nó trong cùng thư mục nơi node.exe sống. " Hãy chắc chắn nếu bạn làm điều này trước tiên bạn thoát khỏi cài đặt trước đó (mặc dù ghi đè nó có thể sẽ hoạt động tốt ...).

  • Để cập nhật các mô-đun của bạn , sử dụng lệnh cập nhật npm


npm update npm -gđã làm cho tôi. Tôi chạy OSx và cài đặt nút thông qua homebrew, tuy nhiên, brew upgrade nodesẽ không chạy nếu bạn đã có phiên bản nút mới nhất đang chạy, như tôi đã làm. Bánh o '.
jamesJosephFinn

npm install -g npm@latestlàm việc cho tôi trên Windows8 stackoverflow.com/a/29023180/588759
rofrol


19

Hãy thử phiên bản ổn định mới nhất của npm

Xem phiên bản nào của npm bạn đang chạy:

npm -v

Nâng cấp trên * nix (OSX, Linux, v.v.)

(Bạn có thể cần phải thêm tiền tố vào các lệnh này sudo, đặc biệt là trên Linux hoặc OS X nếu bạn đã cài đặt Node bằng trình cài đặt mặc định của nó.)

Bạn có thể nâng cấp lên phiên bản mới nhất của npm bằng cách sử dụng:

npm install -g npm@latest

Hoặc nâng cấp lên bản phát hành gần đây nhất:

npm install -g npm@next

Nâng cấp trên Windows


Theo mặc định, npm được cài đặt cùng với nút trong

C:\Program Files (x86)\nodejs

Các gói được cài đặt toàn cầu của npm (bao gồm, có khả năng, chính npm) được lưu trữ riêng trong một thư mục dành riêng cho người dùng (hiện đang là

C:\Users\<username>\AppData\Roaming\npm).

Bởi vì trình cài đặt đặt

C:\Program Files (x86)\nodejs

trước

C:\Users\<username>\AppData\Roaming\npm

trên của bạn PATH, nó sẽ luôn sử dụng phiên bản npm được cài đặt với nút thay vì phiên bản npm bạn đã cài đặt bằng cách sử dụng npm -g install npm@<version>.

Để giải quyết vấn đề này, bạn có thể thực hiện một trong các cách sau:

  • Tùy chọn 1: chỉnh sửa cài đặt Windows của bạnPATH để đặt %appdata%\npmtrước %ProgramFiles%\nodejs. Hãy nhớ rằng bạn sẽ cần khởi động lại cmd.exe(và có khả năng khởi động lại Windows) khi bạn thay đổi PATHhoặc cách cài đặt npm.

  • Tùy chọn 2: loại bỏ cả hai

    • %ProgramFiles%\nodejs\npm
    • %ProgramFiles%\nodejs\npm.cmd
  • Tùy chọn 3: Điều hướng đến %ProgramFiles%\nodejs\node_modules\npmvà sao chép npmrctệp vào thư mục khác hoặc máy tính để bàn. Sau đó mở cmd.exevà chạy các lệnh sau:

cd% ProgramFiles% \ nodejsnpm cài đặt npm @ mới nhất

Nếu bạn đã cài đặt npm với trình cài đặt node.js, sau khi thực hiện một trong các bước trước đó, hãy làm như sau.

  • Tùy chọn 1 hoặc 2

    • Đi vào %ProgramFiles%\nodejs\node_modules\npmvà sao chép tệp có tên npmrctrong thư mục npm mới %appdata%\npm\node_modules\npm. Điều này sẽ cho biết npm mới nơi các gói được cài đặt toàn cầu.
  • Lựa chọn 3

    • Sao chép tệp npmrc trở lại vào %ProgramFiles%\nodejs\node_modules\npm

Một lưu ý ngắn gọn về cấu hình Windows tích hợp

Trình cài đặt Node cài đặt, trực tiếp vào thư mục npm, một phần cấu hình đặc biệt dành riêng cho Windows, cho biết npm nơi cài đặt các gói toàn cầu. Khi npm được sử dụng để tự cài đặt, nó được cho là sao chép builtincấu hình đặc biệt này vào bản cài đặt mới. Có một lỗi trong một số phiên bản của npm khiến nó không hoạt động, vì vậy bạn có thể cần phải vào và sửa nó bằng tay. Chạy lệnh sau để xem npm sẽ cài đặt các gói toàn cầu để xác minh nó là chính xác.

npm config get prefix -g

Nếu nó không được đặt thành <X>:\Users\<user>\AppData\Roaming\npm, bạn có thể chạy lệnh bên dưới để sửa nó:

npm config set prefix "${APPDATA}/npm" -g

Ngẫu nhiên, nếu bạn muốn các gói đó không được cài đặt vào hồ sơ chuyển vùng của mình (vì bạn có hạn ngạch trên mạng chia sẻ của mình hoặc nó khiến việc đăng nhập hoặc thoát khỏi tên miền chậm chạp), bạn có thể đặt nó vào dữ liệu ứng dụng cục bộ của mình:

npm config set prefix "${LOCALAPPDATA}/npm" -g

... cũng như sao chép %APPDATA%\npmvào %LOCALAPPDATA%\npm(và cập nhật %PATH%, tất nhiên).

Mọi người làm việc trên npm đều biết rằng quy trình này phức tạp và đầy rủi ro, và chúng tôi đang làm việc để làm cho nó đơn giản hơn. Giữ nguyên.

Nguồn: https://docs.npmjs.com/troubledhoot/try-the-latest-urdy-version-of-npm


16

Cài đặt npm =>sudo apt-get install npm

Cài đặt n =>sudo npm install n -g

phiên bản mới nhất của nút =>sudo n latest

Phiên bản cụ thể của nút bạn có thể

Liệt kê các phiên bản nút có sẵn =>n ls

Cài đặt phiên bản cụ thể =>sudo n 4.5.0


15

Tôi vừa cài đặt Node.js trên máy Windows 7 mới, với kết quả như sau:

> node -v
v0.12.0
> npm -v
2.5.1

Sau đó tôi đã làm các thủ tục được mô tả ở trên:

> npm install -g npm

và nó được nâng cấp lên v2.7.3. Ngoại trừ làm npm -vvẫn đưa ra 2.5.1.

Tôi đã đi đến bảng cấu hình hệ thống, cài đặt nâng cao, biến môi trường. Tôi đã thấy một biến PATH dành riêng cho tài khoản người dùng của mình, ngoài biến Đường dẫn toàn cầu.
Cái trước chỉ vào npm mới: C:\Users\PhiLho\AppData\Roaming\npm
Cái sau bao gồm đường dẫn đến nút: C:\PrgCmdLine\nodejs\(Ngày nay, tôi tránh cài đặt nội dung trong Tệp chương trình và dẫn xuất. Tránh khoảng trắng trong đường dẫn và bảo vệ vô dụng ồn ào là ...)
Nếu tôi làm which npm.cmd(Tôi có Các tiện ích Unix được cài đặt ...), nó trỏ đến một trong Node.

Dù sao, cách khắc phục rất đơn giản: Tôi chỉ sao chép đường dẫn đầu tiên (đến npm) ngay trước đường dẫn đến nút trong biến Đường dẫn chính, toàn cầu và bây giờ, nó chọn phiên bản mới nhất.
<some stuff before>;C:\Users\PhiLho\AppData\Roaming\npm;C:\PrgCmdLine\nodejs\

> npm -v
2.7.3

Thưởng thức. :-)


15

Tôi nghĩ cách tốt nhất để quản lý node.js là sử dụng NVM . NVM là viết tắt của Node Version Manager.

Đây là một công cụ phải có cho các nhà phát triển node.js!

Bạn có thể cài đặt NVM bằng lệnh sau, mở terminal và chạy bất kỳ một trong các cách sau: -

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

hoặc là

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

Sau khi cài đặt, bạn nên đóng thiết bị đầu cuối hiện tại và mở một thiết bị mới vì NVM sẽ thêm một số biến môi trường để thiết bị đầu cuối cần được khởi động lại.

Tôi sẽ liệt kê một số lệnh cơ bản để sử dụng NVM.

  • Điều này sẽ lấy tất cả các phiên bản nút từ internet. Tất cả các phiên bản nút từ đầu đến ngày sẽ được hiển thị, Nó cũng sẽ đề cập đến các phiên bản LTS cùng với.
nvm ls-remote 
  • Điều này sẽ cài đặt phiên bản nút mà bạn muốn (danh sách phiên bản được lấy bằng lệnh trên)
nvm install v10.15.1
  • Lệnh này sẽ cho chúng ta danh sách các phiên bản nút được cài đặt cục bộ
nvm ls
  • Lệnh này được sử dụng để xóa phiên bản nút mà bạn muốn khỏi máy tính của bạn
nvm uninstall v10.15.1
  • Lệnh sau sẽ giúp bạn nâng cấp lên npmphiên bản nút làm việc mới nhất
nvm install-latest-npm
  • NVM có thể được sử dụng để quản lý đồng thời nhiều phiên bản nút
  • Nó cũng có thể giúp bạn cài đặt tất cả toàn cầu npm gói từ phiên bản này sang phiên bản khác thay vì cài đặt thủ công từng gói trong số chúng!
  • Có nhiều cách sử dụng khác của nvm, chi tiết trong đó và các lệnh có thể được tìm thấy ở đây Node Version Manager

14

Đối với Linux, OSX, v.v.

Để cài đặt phiên bản NPM mới nhất

npm install -g npm@latest

Hoặc để cài đặt bản phát hành gần đây nhất

npm install -g npm@next

Bổ sung: Để kiểm tra phiên bản npm của bạn

npm -v

Nếu bạn đang ở trong Windows Machine, tôi khuyên bạn nên truy cập trang web npm


Sự khác biệt giữa mới nhất và gần đây nhất là gì?
Chris Lang

1
@Chris Lang gần đây là phiên bản mới nhất nhưng mới nhất là phiên bản ổn định mới nhất
Abhishta Gatya

14

Chỉ cần chạy lệnh sau trong terminal là root / admin:

npm i -g n
n stable
npm update -g npm

Nó đã làm việc cho tôi trên Linux


12

Gần đây tôi tình cờ thấy bài viết này: http://martineau.tv/blog/2013/12/more-ffic-grunt-workflows/ và tác giả đề cập đến $ npm-check-updates -u && npm installviệc cập nhật tất cả các phụ thuộc.

Đây là một chút ngoài chủ đề nhưng tôi đã kết thúc ở đây trên một tìm kiếm tương tự vì vậy nghĩ rằng nó đáng để chia sẻ.


david-dm.org Và điều này chỉ xuất hiện dưới dạng một bình luận từ bài đăng mà tôi đã trích dẫn. Có vẻ hoàn hảo ...
Jason Lydon

11

Đôi khi việc tải xuống phiên bản mới nhất từ http://nodejs.org/ đơn giản hơn

Đặc biệt là khi tất cả các lựa chọn khác đều thất bại.

http://nodejs.org/ -> bấm CÀI ĐẶT -> bạn sẽ có nút và npm mới nhất

Đơn giản!


1
Chắc chắn đơn giản hơn, nhưng không phải lúc nào cũng hoạt động. Tôi đã vật lộn với tất cả các đề xuất trên và một số đề xuất khác - không có gì hoạt động trên máy Mac của tôi. Đi đến nodejs.org đã sửa nó.
chàng trai

1
trong trường hợp đó, có lẽ bạn đã cài đặt nó theo cách xấu để bắt đầu. Nút / npm là một trong những nút bạn muốn tiền tố cài đặt của bạn để bạn không cần sudo cho mọi thứ.
Brian Vanderbusch

Tôi có thể cài đặt nó bình thường bằng cách sử dụng brew hoặc trình cài đặt. Nó có thể là một lỗi cụ thể trong một phiên bản npm cụ thể. Tôi có thể sẽ không bao giờ biết và có lẽ nó không quan trọng - nó đã được cập nhật hoàn hảo kể từ khi sử dụng cập nhật npm.
chàng trai

1
Điều này làm việc cho tôi, cảm ơn. Tôi đã gặp vấn đề đến bản mới nhất và làm hỏng mọi thứ khi tôi vô tình làm trống bộ đệm npm, heh. Phải (cài đặt lại) msi (trên Windows) để được cập nhật đầy đủ. Làm việc hoàn hảo.
JasonH

Nếu bạn đang sử dụng OS X hoặc Windows, cách tốt nhất để cài đặt hoặc cập nhật Node.js và npm là sử dụng một trong các trình cài đặt từ liên kết tải xuống Node.js , khi tôi được tải xuống và giải nén, nó chỉ cần cập nhật nút và npm phiên bản trên macbook pro os x 10.13 của tôi.
Kuhan

10

Chỉ cần nghe một cuộc phỏng vấn với nhóm npm về tập mới nhất của nodeup , và họ khuyên không nên sử dụng updateđể cập nhật từ 1.xđến 2.x. Thay vào đó, sử dụng: npm install npm -g



9

Để cập nhật npm:

npm install npm@{version} -g

để cập nhật npm lên phiên bản mới nhất:

npm install npm@latest -g

và để kiểm tra phiên bản:

npm -v

để cập nhật nút js:

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

để kiểm tra :

node -v

8

đối với nodejs nên gỡ cài đặt nó và tải xuống phiên bản yêu thích của bạn từ nodejs.org cho npm chạy bên dưới dòng trong cmd:

npm i npm

8

Khi nói đến Linuxtôi đề xuất Nút cập nhật bằng Trình quản lý gói:

Nút đi kèm với npm được cài đặt sẵn, nhưng trình quản lý được cập nhật thường xuyên hơn Node. Chạy npm -v để xem bạn có phiên bản nào, sau đó npm install npm@latest -gcài đặt bản cập nhật npm mới nhất. Chạynpm -v lại nếu bạn muốn đảm bảo npm được cập nhật chính xác.

Để cập nhật NodeJS, bạn sẽ cần mô-đun n tiện dụng của npm. Chạy mã này để xóa bộ nhớ cache của npm, cài đặt n và cài đặt phiên bản ổn định mới nhất của Node:

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

Để cài đặt bản phát hành mới nhất, sử dụng n latest. Ngoài ra, bạn có thể chạy n #. #. # Để có Nodephiên bản cụ thể .


Khi nói đến Windows/ macOStôi đề nghị sử dụng Trình cài đặt trên Nodejs.org

Trang tải xuống Node.js bao gồm các gói nhị phân cho Windows và macOS - nhưng tại sao làm cho cuộc sống của bạn khó khăn hơn? Các trình cài đặt được tạo sẵn - .msi cho Windows và .pkg cho macOS - làm cho quá trình cài đặt hiệu quả đến không ngờ và dễ hiểu. Tải xuống và chạy tệp và để trình hướng dẫn cài đặt chăm sóc phần còn lại. Với mỗi bản cập nhật được tải xuống, các phiên bản mới hơn của Node và npm sẽ thay thế phiên bản cũ hơn.

Ngoài ra, người dùng macOS có thể sử dụng các hướng dẫn npm và n ở trên.


Khi nói đến việc cập nhật node_modulesthư mục phụ thuộc của bạn , tôi khuyên bạn nên bỏ qua tất cả những điều có thể khiến bạn đau đầu và chỉ cần đi đến dự án cụ thể của bạn và chạy npm installlại.

Trước khi bất cứ ai làm điều đó, tôi khuyên bạn nên kiểm tra package.jsontệp của bạn sau đây:

Là người dùng các gói NodeJS, bạn có thể chỉ định loại cập nhật nào mà ứng dụng của bạn có thể chấp nhận trong tệp pack.json. Ví dụ: nếu bạn đã bắt đầu với phiên bản gói 1.0.4, đây là cách bạn có thể chỉ định phạm vi phiên bản cập nhật được phép theo ba cách cơ bản:

Để cho phép phát hành bản : 1.0 hoặc 1.0.x hoặc ~ 1.0.4
Để cho phép bản phát hành nhỏ : 1 hoặc 1.x hoặc ^ 1.0.4
để cho phép chính phát hành : * hoặc x

Giải trình:

Phiên bản MAJOR khi có thay đổi API không tương thích. ->~

Phiên bản MINOR khi chức năng được thêm vào theo cách tương thích ngược. ->^

Phiên bản PATCH khi sửa lỗi tương thích ngược được thực hiện. ->*


6

Ngoài ra nếu bạn muốn cập nhật lên một phiên bản cụ thể, hãy làm theo điều này:

sudo npm cache clean -f
sudo npm install -g n
sudo n <specific version>

2
npm WARN using --force I sure hope you know what you are doing.
Jeff

6

Đối với người dùng Cygwin :

Cài đặt n (trình quản lý phiên bản nút) Cygwinkhông hoạt động, thay vào đó cập nhật nút bằng:

wget https://nodejs.org/download/release/latest/win-x64/node.exe -OutFile 'C:\pathto\nodejs\node.exe'
# Updating npm
npm i -g npm

Có, bạn cần phải cài đặt wgetđầu tiên.


6

Sử dụng mô-đun n từ npm để nâng cấp nút. n là 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.

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

LƯU Ý rằng cài đặt mặc định cho nodejs nằm trong / usr / bin / nodejs chứ không phải / usr / bin / node

Để 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

Nếu bạn gặp lỗi bash: /usr/bin/node: No such file or directorysau thì đường dẫn bạn đã nhập tại

sudo ln -sf /usr/local/n/versions/node/<VERSION>/bin/node /usr/bin/nodejs

nếu sai vì vậy hãy chắc chắn kiểm tra xem nodejs cập nhật đã được cài đặt ở đường dẫn trên chưa và phiên bản bạn đã nhập có chính xác không.

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.


6

Cảnh báo: nếu bạn cần cập nhật Node từ phiên bản cũ (trong trường hợp của tôi v4.6.0), tốt hơn là cài đặt lại nodejs từ đầu (liên kết tải xuống: https://nodejs.org ) nếu không npm cũng sẽ tự cập nhật lên phiên bản không tương thích với nút mới (xem cuộc thảo luận này ).

Đây là thông báo lỗi mà tôi nhận được sau khi cập nhật Node (trên Windows) với npm

$ npm install -g npm stable
[ . . .]
$ npm 
C:\Users\me\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js:85
      let notifier = require('update-notifier')({pkg})
      ^^^

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supporte
d outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:974:3

Sau khi cài đặt mới, npm hoạt động trở lại:

$ npm -v
6.5.0
$ node -v
v10.15.0

npm install -g npm stablelàm. Câu trả lời đơn giản.
Neel

5

Chỉ cần chạy các kịch bản dưới đây trên bàn điều khiển:

sudo npm i -g n
sudo n stable
sudo npm update -g npm

Điều này sẽ chỉ làm việc cho Linux và MAC


5

Tôi tìm thấy một plugin có thể giúp cập nhật tất cả các gói npm.

Trước tiên, bạn cần cài đặt một plugin npm-check-Updates. Đây là liên kết npm-check-Updates

npm i -g npm-check-updates

Vì vậy, tiện ích này được cài đặt trên toàn cầu, bạn có thể gọi nó bằng cách viết như sau.

1) ncu -u Ở đây ncu là npm kiểm tra cập nhật.

2) npm install

Vì vậy, với hai lệnh này, bạn có thể dễ dàng cập nhật các gói npm. Tôi hy vọng điều này sẽ giúp bạn cập nhật các gói dễ dàng.


@MM có thể trong dự án của bạn, không có tệp pack.json. Vui lòng kiểm tra trước.
Arjun

Bạn không "cần" để cài đặt npm-check-updates. Đây chỉ là một giải pháp sử dụng gói do người dùng thực hiện.
mesqueeb

@mesqueeb đây chỉ là một trong những cách để cập nhật gói. Nếu các giải pháp khác không hoạt động bằng cách nào đó, thì thời điểm đó giải pháp này có thể tốt cho một số người.
Arjun
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.