Cách cập nhật npm


124

Tôi đang cố gắng cài đặt trình biên dịch mean.io. Nó không thành công khi chạy sudo npm install -g meanio@latest. Trước khi thất bại, nó lưu ý rằng nó 'muốn' npm phiên bản 1.4.x, trong khi tôi đã cài đặt 1.2.18. Vì vậy, tôi đã thử cập nhật npm lên mới nhất; một số cách. Lần cuối cùng là ...

ubuntu@ip-xxx-xx-xx-xxx:~$ sudo npm install -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@1.4.7 /usr/local/lib/node_modules/npm

ubuntu@ip-xxx-xx-xx-xxx:~$ npm --version
1.2.18

Tại sao nó vẫn hiển thị phiên bản 1.2.18, khi tôi vừa cập nhật lên 1.4.7?


12
Dosudo npm update npm -g
Tim,

1
Nếu bạn có thể mạo hiểm khi sử dụng PPA không được hỗ trợ, hãy thử khởi
chạypad.net/~chris

sudo NPM cài đặt NPM -g giúp tôi
thinklinux


Điều này nên được trên Hỏi Ubuntu
Ulysse BN

Câu trả lời:


189

Thao tác này sẽ cập nhật npm bằng chính npm :

sudo npm install npm -g

Nếu bạn gặp khó khăn, hãy thử sudo npm update npm -g. Tất cả tín dụng đều thuộc về Tim Castelijns. Tôi đã thử nghiệm nó trên ubuntu 14.04, npm 1.3.10


Lưu ý rằng nếu bạn đang sử dụng nvm để quản lý nhiều phiên bản trong môi trường nhà phát triển cục bộ của mình cho mục đích thử nghiệm , thì tất cả các phiên bản đã cài đặt của bạn (được liệt kê bởi nvm ls) đều nằm trong ~ / .nvm, do đó bạn chỉ cần bỏ qua cài đặt trên toàn hệ thống (tức là bỏ qua sudo):

npm install npm -g

DOANH NGHIỆP DEBIAN

Đối với thực tiễn doanh nghiệp đầy đủ, hãy xem xét nodeource.com :

curl -sL https://deb.nodesource.com/setup | sudo bash -

như được mô tả ở đây .

DOANH NGHIỆP KHÁC

Đối với các bản phân phối không phải debian, hãy xem trên wiki github của nút https://github.com/joyent/node/wiki/installing-node.js-via-package-manager trang tải xuống https://nodejs.org/en/download /

Để hiểu rõ lịch sử: Chis Lea được duy trì PPA của mình nhưng bây giờ gia nhập lực lượng với nodesource .


Tôi khuyên bạn nên sử dụng kho lưu trữ PPA để bạn để trình quản lý gói ubuntu duy trì các bản cập nhật cùng với mọi thứ khác.
henry74

Có, có thể trên các loại máy chủ sản xuất. Nhưng trên dev bạn thực sự muốn đảm bảo bạn có được công cụ trực tiếp từ nhà duy trì gói NPM, không phải là duy trì PPA
Yauhen Yakimovich

Tôi không đồng ý. Bạn không muốn nhà phát triển khác với sản xuất hoặc bạn sẽ gặp phải các vấn đề triển khai cho các phiên bản khác nhau.
henry74

1
Một lần nữa, tùy thuộc vào mức độ hoang tưởng của bạn, việc tin tưởng PPA của Chis Lea có thể bị nghi ngờ. Luôn luôn có một quyết định có thể về việc có bao nhiêu phần phụ thuộc quan trọng trong dự án mà người ta chỉ giảm tải dưới dạng bản sao cục bộ. Nếu bạn không làm việc trong ngân hàng nhưng thực hiện một dự án mã nguồn mở, bạn thậm chí có thể không có sản xuất để lo lắng :) Tôi sẽ liên kết wiki nút ở đây chỉ liệt kê tất cả các lựa chọn thay thế. Cá nhân tôi không thích các thẻ PPA so với github khi nói đến phân phối mã.
Yauhen Yakimovich

Không cần sử dụng PPA của Chris. Sử dụng chính thức từ nguồn nút.
henry74

43

nếu câu trả lời của user3223763 không hoạt động, bạn có thể thử cách này:

sudo apt-get remove nodejs ^node-* nodejs-*
sudo apt-get autoremove
sudo apt-get clean
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs

Sau đó :

curl https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | sh

Sau đó, mở một thiết bị đầu cuối mới và kiểm tra phiên bản npm:

npm --version

CHỈNH SỬA / CẬP NHẬT:

Hôm nay phiên bản nvm cuối cùng là:

https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh

Do đó, lệnh CURL là: v0.25.4 thay vì v0.13.1

curl https://raw.githubusercontent.com/creationix/nvm/v0.25.4/install.sh | sh

Bạn có thể kiểm tra https://github.com/creationix/nvm/releases để sử dụng phiên bản chính xác để nâng cấp thêm


3
user3223763 không hoạt động với tôi, cũng không tự cập nhật npm. Cảm ơn bạn Daniel
hectorg87

3
Tôi có thể xác nhận rằng phương pháp này đã giúp cập nhật npm. Các phương thức trước đây có các thư viện chưa được đáp ứng các phụ thuộc hoặc sẽ cập nhật npm nhưng sẽ không cập nhật đường dẫn / môi trường để sử dụng vị trí mới.
will824

Điều này cũng làm việc cho tôi, câu trả lời còn lại thì không trên Ubuntu 14.0.4
islanddave

1
Điều này phù hợp với tôi khi sử dụng Ubuntu 14.04 được cài đặt trên Chromebook với Crouton. Không có gì khác mà tôi đã tìm thấy trực tuyến hoạt động
Niall

17

đừng quên đóng và bắt đầu lại cửa sổ đầu cuối;)

(ít nhất nếu bạn muốn kiểm tra "npm --version" trong thiết bị đầu cuối)

sudo npm install npm -g

điều đó cũng đã làm cho tôi


13

Có vẻ như bạn đang sử dụng Ubuntu (từ dòng lệnh bạn hiển thị). Để cập nhật npmnodejsbạn có thể sử dụng kho lưu trữ PPA:

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

1
E: The repository 'http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. cho Ubuntu 18.04
anon58192932

Err: 11 ppa.launchpad.net/chris-lea/node.js/ubuntu bionic phát hành 404 Not Found [IP: 91.189.95.83 80]
Kiran Reddy

1
để thoát khỏi các lỗi chạy gây phiền nhiễu: rm /etc/apt/sources.list.d/cooperjona-ubuntu-nitrotasks-bionic.list
Abdelghani AINOUSS

9

Đã thử các tùy chọn ở trên trên Ubuntu 14.04, nhưng chúng sẽ liên tục tạo ra lỗi này:

npm ERR! Gói tar Lỗi khi đọc /root/tmp/npm-15864/1465947804069-0.4854120113886893/package

Sau đó, tìm thấy giải pháp này trực tuyến:

1) Làm sạch bộ nhớ cache của npm trước:

sudo npm cache clean -f

2) Cài đặt n mô-đun của npm:

sudo npm install -g n

3) Bắt đầu cài đặt bằng cách chọn phiên bản nút để cài đặt: ổn định hoặc mới nhất , chúng tôi sẽ sử dụng ổn định ở đây:

sudo n stable

4) Kiểm tra phiên bản của nút:

node -v

5) Kiểm tra phiên bản của npm:

npm -v

Câu trả lời này có thể sử dụng một số mở rộng để giải thích những gì các lệnh ít rõ ràng hơn đang làm.
Madbreaks

6

Để có được phiên bản ổn định mới nhất, chỉ cần chạy

npm install npm@latest -g

Nó hoạt động tốt cho tôi!



2

nâng cấp lên nodejs v0.12.7

 # Note the new setup script name for Node.js v0.12
 curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

 # Then install with:
 sudo apt-get install -y nodejs

Nguồn từ nodeource.com



1
npm i -g npm

      Update available 4.5.0 → 4.6.1    │
   │     Run npm i -g npm to update 

đây là những gì npm đề xuất khi trong thiết bị đầu cuối, phần thứ hai được sao chép và dán trực tiếp từ thiết bị đầu cuối của tôi

lưu ý: tôi đang sử dụng máy mac


Câu hỏi đặc biệt là về ubuntu, không phải osx. Nếu tôi đã thử lệnh của bạn trong ubuntu, npmsẽ không thành công với Error: Cannot find module 'process-nextick-args'. Bạn nên xóa câu trả lời của mình.
Anthony Kong

1

Kiểm tra phiên bản nút của bạn nút -v và phiên bản npm của bạn npm -v Sau đó để cập nhật NPM , gõ này vào thiết bị đầu cuối của bạn: sudo NPM cài đặt NPM @ mới nhất -g

NB: Hệ điều hành dựa trên Debian {ubuntu hoặc Linux mint}


1

NPM đã trả lại phiên bản cũ sau khi chạy $ sudo npm install npm -g .

Khởi động lại thiết bị đầu cuối (tức là đóng và mở lại) đã khắc phục sự cố cho tôi và $ npm --version bắt đầu trả lại phiên bản mong đợi.

* @Rimian đề cập đến sự cần thiết phải tải lại thiết bị đầu cuối trong nhận xét của một câu trả lời khác.


0

Trong trường hợp bạn muốn cập nhật npm lên một phiên bản cụ thể, bạn có thể sử dụng cách này:

npm install npm@version-number


0

Kiểm tra phiên bản nút node -vvà phiên bản npm của bạn npm -v Sau đó, Để cập nhật npm, hãy nhập mã này vào thiết bị đầu cuối của bạn: npm install npm@latest -g

Hy vọng tôi có thể giúp đỡ. Trân trọng


0

Đây là những gì làm việc cho tôi trên ubuntu curl -L https://www.npmjs.com/install.sh | sh



0

Bạn có thể sử dụng npmtrình quản lý gói:

npm install npm@latest

Điều này cài đặt npmbằng chính nó @ phiên bản mới nhấ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.