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


81

Khi tôi cài đặt nút 0.10.33 từ msi ( http://nodejs.org/download/ ), tôi nhận được phiên bản cũ của npm (1.4.28). Làm cách nào để nâng cấp npm trên Windows?

npm install -g npm

không hoạt động; Tôi vẫn còn npm cũ.


Bạn cũng có thể xem câu trả lời cho câu hỏi trên: stackoverflow.com/questions/18412129/…
bohem.be

@ bohem.be - đề cập đến cách cập nhật nodetrên Windows, rất hữu ích; nhưng câu hỏi / câu trả lời này là về cách cập nhật npm.
Sam Mikes

theo như tôi biết, npm là một phần của cập nhật hoặc cài đặt nút (Trình quản lý gói nút)
bohem.be

Đây là câu trả lời cuối cùng của tôi vì đây không phải là một hội đồng thảo luận. Vui lòng kiểm tra stackoverflow.com/questions/9237715/… . Và cũng hãy đọc lại câu trả lời của tôi cho stackoverflow.com/questions/18412129/… và bạn sẽ thấy tôi đang cập nhật npm chứ không phải nút.
bohem.be

"Đó là một quan niệm sai lầm phổ biến đáng tiếc rằng từ viết tắt là viết tắt của" node package manager "."
Sam Mikes

Câu trả lời:


154

Bạn cần làm theo hướng dẫn nâng cấp Windows ( https://docs.npmjs.com/try-the-latest-stable-version-of-npm )

tl; dr - npm -g install npm không hoạt động, nhưng phiên bản cũ của npm vẫn nằm trong PATH của bạn.

Để khắc phục điều này, hãy thực hiện một trong những điều sau:

Tùy chọn 2: xóa cả hai

C:\Program Files (x86)\nodejs\npm

C:\Program Files (x86)\nodejs\npm.cmd

Hoặc là

Tùy chọn 3: Mở cmd.exe với tư cách quản trị viên, điều hướng đến C: \ Program Files (x86) \ nodejs và sau đó chạy cài đặt mà không có -g:

npm install npm@latest

* Có một gói npm tự động hóa Tùy chọn 3 này:

npm install -g npm-win-upgrade


1
Đây là vấn đề mà tôi đã phải đối mặt trong nhiều tuần, bây giờ nó đã được giải quyết :) Cảm ơn vì câu trả lời!
sonlexqt

1
Các mảnh mấu chốt ở đây là một khi bạn đã thực hiện những điều trên, khởi động lại vỏ của bạn để nó chuyển từ phiên bản được cài đặt trong thư mục nút driver được cài đặt trong thư mục AppData
Kyle Chadha

1
Khôi phục cho Tùy chọn 3 ... Sao chép / Dán: cd / c / 'Tệp chương trình / nodejs' && npm cài đặt npm @ mới nhất
Benek 10/09/15

1
NPM cài đặt NPM @ mới nhất làm việc rất lớn, ngoại trừ trên các khách hàng mà vẫn còn <2.0
beauXjames

Tại sao không sử dụng -gcờ với npm install npm@latestcách tiếp cận? Nó hoạt động với tôi với -glá cờ, trong khi không ai trong số những người còn lại làm được
Overdrivr

44

Chúng tôi tại Microsoft Open Source đã viết một công cụ nhỏ để tự động hóa quy trình nêu trên. Bạn có thể tìm thấy nó ở đây hoặc chỉ cần cài đặt và chạy nó bằng cách thực hiện như sau trong dấu nhắc lệnh nâng cao / PowerShell:

npm install -g npm-windows-upgrade
npm-windows-upgrade

1
Nó cần có quyền hạn. Điều gì sẽ xảy ra nếu tôi không thể chạy các tập lệnh powershell được tải xuống từ internet và tôi không có đặc quyền thay đổi cài đặt? Tôi cho rằng tôi cần tạo chứng chỉ và ký nó. Đau đầu nhiều
rofrol

1
Tôi đã làm theo tất cả các bước và tất cả những gì tôi nhận được là lỗi: PS C: \ Windows \ system32> npm-windows-lift npm-windows-upgrade: Thuật ngữ 'npm-windows-lift' không được nhận dạng là tên của lệnh ghép ngắn, hàm, tệp kịch bản hoặc chương trình có thể hoạt động. Kiểm tra chính tả của tên hoặc nếu một đường dẫn được bao gồm, hãy xác minh rằng đường dẫn đó chính xác và thử lại. Tại dòng: 1 char: 1 + npm-windows-upgrade + ~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: ObjectNotFound: (npm-windows-upgrade: String) [], CommandNotFoundException + CompleteQualifiedErrorId: CommandNotFoundException
Dan Csharpster

1
Tôi đang gặp sự cố giống hệt với @DanCsharpster khi làm theo tất cả các bước dành cho Powershell với tư cách là Quản trị viên.
Wesley Musgrove,

2
Khắc phục: Tôi đã gặp sự cố giống hệt như @DanCsharpster khi làm theo tất cả các bước dành cho Powershell với tư cách Quản trị viên, nhưng sự cố này đã được khắc phục bằng cách thêm C: \ Users \ UserAdmin \ AppData \ Roaming \ npm vào PATH của mình, đóng Powershell và mở lại bằng Quản trị viên.
Wesley Musgrove,

Có cùng vấn đề với Dan và Wesley. Đã có thể giải quyết nó với mẹo của Wesley ở trên.
Loathian

15

Có thể có nhiều cách để cập nhật npmtrong Windows của bạn

Cách 1

  1. Mở power shell của bạn với tư cách Quản trị viên và chạy các lệnh sau từng bước.
  2. Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
  3. npm install -g npm-windows-upgrade
  4. npm-windows-upgrade
  5. Tại đây bạn có thể chọn phiên bản npm ưa thích của mình
  6. Sẵn sàng để đi !

Cách 2

  1. Bạn chỉ cần nâng cấp lên npmphiên bản mới nhất bằng lệnh sau
  2. npm install npm@latest -g
  3. hoặc nếu bạn muốn một phiên bản cụ thể của npmchỉ cần chạy
  4. npm install npm@{version} -g ví dụ npm install npm@3.3.12 -g

Bây giờ chỉ cần chạy npm --versionhoặc npm -vđể biết phiên bản npm hiện tại của bạn

3.3.12là phiên bản ưa thích của tôi npmphù hợp nhất cho gần như mọi gói.


1
Cách 2 là cách duy nhất hoạt động hiệu quả:npm install npm@latest -g
Overdrivr

7

Vì vậy, TL; DR; điều này đã hoạt động:

  1. Gỡ cài đặt nút

  2. Từ dấu nhắc lệnh, hãy chạy where npm

  3. Nếu bạn đã cài đặt npm qua chocolatey, bạn sẽ thấy một đường dẫn như C: \ ProgramData \ chocolatey \ bin \ npm.exe - XÓA nó!
  4. Bây giờ cài đặt NodeJS bằng MSI thích hợp từ https://nodejs.org/en/download/
  5. Trong trình bao yêu thích của bạn, hãy nhập npm --version- điều này bây giờ sẽ lặp lại phiên bản NPM đi kèm với NodeJS (tại thời điểm viết bài này, phiên bản đó là 3.10.10)

Đây là những gì hiệu quả với tôi (ngốc nghếch!) Tôi đã cài đặt (cách đây nhiều tuổi) npm qua chocolatey, điều này đã tạo ra npm.exe được khởi tạo bằng chocolatey trong C: \ ProgramData \ chocolatey \ bin \ npm.exe. Đây là phiên bản npm 1.4.9 và sẽ không cập nhật cho dù người ta đã làm gì bao gồm gỡ cài đặt và cài đặt lại NodeJs.

=======

CHỈNH SỬA: Cách tốt hơn để cài đặt nút và npm

Kể từ hôm nay (27/06/2017), cách tốt nhất để cài đặt và quản lý node và npm là cài đặt nvm (Node Version Manager) như được giải thích tại đây: https://github.com/coreybutler/nvm-windows . Sau khi bạn có nvm, việc cài đặt bất kỳ phiên bản nút nào rất dễ dàng:

  1. Mở bảng điều khiển yêu thích của bạn (CMD, Cmder, PowerShell)
  2. nvm install 6.10.2(để cài đặt nút phiên bản 6.10.2)
  3. Để xem phiên bản hiện đang hoạt động, hãy nhập nvm list. Điều này in một cái gì đó như dưới đây:

  6.9.3   
* 6.9.2 (Currently using 64-bit executable)
  6.9.1
  6.10.2


1
Bạn đã cứu ngày của tôi !! Tôi đã từng gặp vấn đề tương tự. Tôi đã cài đặt nodejs bằng chocolatey và tôi không thể nâng cấp phiên bản npm.
dsmyrnaios

1

Bạn cần làm theo hướng dẫn nâng cấp Windows

https://www.npmjs.com/package/npm-windows-upgrade

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, hãy 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.

  1. Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
  2. npm install --global --production npm-windows-upgrade
  3. npm-windows-upgrade

Bạn chỉ muốn cài đặt phiên bản mới nhất? 1.npm-windows-upgrade --npm-phiên bản mới nhất


0

Tôi đã làm điều gì đó tương tự như Sam Mikes. Tôi chỉ chia sẻ điều này vì tôi không thể nhận được một trong hai giải pháp của anh ấy để hoạt động trên giàn khoan của tôi. Sau khi chơi một chút, đây là những gì đã làm việc cho tôi:

  1. Xóa NPM / Node khỏi Biến môi trường của bạn, cho cả người dùng và hệ thống.
  2. Đóng bảng điều khiển đang mở của bạn nếu bạn có một bảng điều khiển đang mở, sau đó mở bảng điều khiển với tư cách quản trị viên
  3. Thay đổi thư mục thành %USERPROFILE% - đó là một biến môi trường của cửa sổ đưa bạn đếnC:\Users\CurrentlyLoggedInUser
  4. Chạy từ bảng điều khiển trong% USERPROFILE%, "C:\Program Files\nodejs\npm" install npm -g (bạn có thể có của bạn trong thư mục x86)
  5. Nếu giải pháp này phù hợp với bạn, bước 4 sẽ có hiệu quả và npm -v sẽ hiển thị phiên bản cập nhật
  6. Thêm lại Node (trong Tệp chương trình) / NPM (trong Dữ liệu ứng dụng - nút được cài đặt trong Tệp chương trình phải là nút cũ) vào các biến môi trường hệ thống và người dùng của bạn

Lưu ý: Trước đây, tôi đã sử dụng tập lệnh tự động của Microsoft để khắc phục sự cố này, nhưng chỉ vì tôi không nhận ra việc tự thực hiện nó dễ dàng như thế nào.


Hả! Vì vậy, tôi đã được nâng cấp, và sau đó cần thiết để hạ cấp và ran vào vấn đề này một lần nữa ... Tôi ban đầu đã viết câu trả lời này cho LTS 4.2.3, và nó hoạt động cho LTS 4.4.0
kayleeFrye_onDeck

0

Vì vậy, không có câu trả lời nào trước đây giải quyết được vấn đề cho tôi vì vậy tôi nghĩ rằng tôi sẽ đăng giải pháp cụ thể của mình, mà tôi đã cố gắng tìm ra bằng cách xem qua tất cả các câu trả lời khác để chúng thực sự hữu ích.

Vấn đề của tôi là do tôi đã sử dụng sô cô la để cài đặt nút và có thể là npm (nhìn vào trang web sô cô la bây giờ tôi không nên làm điều đó).

Để giải quyết vấn đề, tôi chỉ cần chạy các lệnh gỡ cài đặt choco có liên quan cho npm và nút và sau đó mọi thứ chuyển sang phiên bản khác của nút mà tôi cũng đã cài đặt bằng cách sử dụng nút msi (từ trang web của nút).

Tôi hy vọng điều đó sẽ giúp ích cho bất kỳ ai khác có thể đã đi cùng con đường với tôi.



0

Tôi đã thử hầu hết mọi câu trả lời nhưng không có câu trả lời nào hoạt động theo cách của tôi.
Cả npm-windows-upgrade đều không hoạt động và npm install npm @ new nhất, v.v ... đều không hoạt động.
Đối với những người như tôi, tôi sẽ đề nghị các bạn tải xuống trình cài đặt mới nhất từ trang web Node.js , để phiên bản hiện có của thư mục nút ở đó và không cần thay đổi bất cứ điều gì, chỉ cần cài đặt trình cài đặt msi và bạn sẽ có phiên bản nâng cấp của nút. .
Trường hợp của tôi là nâng cấp nút từ 6 lên 8.9.3


Có nhiều cách để nâng cấp. Tôi đã từng lãng phí cả ngày làm việc của mình cho nó. Nếu bạn đang đối mặt với vấn đề tương tự, hãy sử dụng giải pháp của tôi.
hamzox

0

tất cả các lệnh cài đặt npm đều bị kẹt và sẽ xuất hiện lỗi (do lỗi proxy) sau một thời gian. thiết lập proxy không hữu ích. Đây là những gì tôi đã làm.

Có 8,11 nodeJS

  1. Đã gỡ cài đặt NodeJS khỏi Chương trình & Tính năng bằng trình gỡ cài đặt.
  2. Khởi động lại (hoặc bạn có thể thoát khỏi việc giết tất cả các quy trình liên quan đến nút từ Trình quản lý tác vụ).
  3. Tìm các thư mục này và xóa chúng (và nội dung của chúng) nếu vẫn còn tồn tại. Tùy thuộc vào phiên bản bạn đã cài đặt, cài đặt UAC và kiến ​​trúc CPU, chúng có thể tồn tại hoặc không: • C: \ Program Files (x86) \ Nodejs • C: \ Program Files \ Nodejs • C: \ Users {User} \ AppData \ Chuyển vùng \ npm (hoặc% appdata% \ npm) • C: \ Users {User} \ AppData \ Roaming \ npm-cache (hoặc% appdata% \ npm-cache) • C: \ Users {User} .npmrc (và có thể kiểm tra điều đó mà không có tiền tố.)
  4. Kiểm tra biến môi trường% PATH% của bạn để đảm bảo không tồn tại các tham chiếu đến Nodejs hoặc npm.
  5. Nếu nó vẫn chưa được gỡ cài đặt, hãy nhập nút where tại dấu nhắc lệnh và bạn sẽ thấy vị trí của nó - xóa nó (và có thể cả thư mục mẹ).
  6. Khởi động lại, để có biện pháp tốt.

Đã cài đặt 6.11 nodejs sau đó nó hoạt động.


0

Để nâng cấp NPM trên windows 10

  1. Gỡ cài đặt Node.js
  2. Khởi động lại hệ thống của bạn
  3. trên dấu nhắc lệnh nhập nơi npm
  4. xóa nếu thư mục npm và npm-cache tồn tại trong AppData / Roaming
  5. Cài đặt Node.js ( https://nodejs.org/en/ )

-3

Đối với nút cập nhật npm trên Windows

Tôi phải xóa nút trong:

C: \ Users ** NGƯỜI DÙNG CỦA BẠN ** \ AppData \ Roaming

Và cài đặt lại nút

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.