Jak zaktualizować npm


125

Próbuję zainstalować mean.io boilerplate. Nie działa podczas pracy sudo npm install -g meanio@latest. Przed niepowodzeniem zauważa, że ​​„chce” npm w wersji 1.4.x, podczas gdy ja mam zainstalowaną wersję 1.2.18. Próbowałem więc zaktualizować npm do najnowszego; kilka sposobów. Ostatni z nich był ...

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

Dlaczego nadal wyświetla wersję 1.2.18, kiedy właśnie zaktualizowałem do wersji 1.4.7?


12
Dosudo npm update npm -g
— Tim

1
Jeśli można zaryzykować użycie nieobsługiwanym PPA, spróbuj launchpad.net/~chris-lea/+archive/node.js
— TeTeT

sudo npm install npm -g pomogło mi
— thinklinux


To powinno być w Ask Ubuntu
— Ulysse BN

Odpowiedzi:


189

Spowoduje to zaktualizowanie npm przy użyciu samego npm :

sudo npm install npm -g

Jeśli utkniesz, spróbuj sudo npm update npm -g. Wszystko zasługa Tima Castelijnsa. Ja testowałem go na Ubuntu 14.04, npm 1.3.10


Zauważ, że jeśli używasz nvm do zarządzania wieloma wersjami w lokalnym środowiskunvm ls deweloperskim, np. Do celów testowych , wszystkie zainstalowane wersje (wymienione przez ) znajdują się w ~ / .nvm, dlatego po prostu pomijasz instalację w całym systemie (tj. Pomijasz sudo):

npm install npm -g

DEBIAN ENTERPRISE

Aby uzyskać pełną praktykę biznesową, rozważ nodesource.com :

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

jak opisano tutaj .

INNE PRZEDSIĘBIORSTWA

Dla rozkładów non-debian sprawdź na węźle github wiki https://github.com/joyent/node/wiki/installing-node.js-via-package-manager strona pobierania https://nodejs.org/en/download /

Dla zrozumienia historii: Chis Lea utrzymywał swój PPA, ale teraz połączył siły z nodesource .


Polecam korzystanie z repozytorium PPA, aby umożliwić menedżerowi pakietów Ubuntu utrzymywanie aktualizacji wraz ze wszystkim innym.
— henry74

Tak, może na serwerach produkcyjnych. Ale na dev, naprawdę chcesz zagwarantować, że otrzymasz rzeczy bezpośrednio od opiekuna pakietu npm, a nie opiekuna PPA
— Yauhen Yakimovich.

Nie zgadzam się. Nie chcesz, aby programista różnił się od produkcyjnego lub napotkasz problemy z wdrożeniem dla różnych wersji.
— henry74

1
Ponownie, w zależności od tego, jak bardzo jesteś paranoikiem, zaufanie do PPA Chis Lei może być wątpliwe. Zawsze jest możliwa decyzja, ile krytycznych zależności w projekcie zostanie po prostu odciążonych jako kopia lokalna. Jeśli nie pracujesz w banku, ale robisz projekt o otwartym kodzie źródłowym, możesz nawet nie martwić się o produkcję :) Podlinkuję tutaj wiki węzła, wymieniając tylko wszystkie alternatywy. Osobiście nie przepadam za tagami PPA i github, jeśli chodzi o dystrybucję kodu.
— Yauhen Yakimovich

Nie musisz używać PPA Chrisa. Użyj oficjalnego ze źródła węzła.
— henry74

44

Jeśli odpowiedź użytkownika3223763 nie działa, możesz spróbować tego:

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

Następnie :

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

Następnie otwórz nowy terminal i sprawdź wersję npm:

npm --version

EDYCJA / AKTUALIZACJA:

Dzisiaj ostatnia wersja NVM to:

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

Zatem polecenie CURL to: v0.25.4 zamiast v0.13.1

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

Możesz sprawdzić https://github.com/creationix/nvm/releases, aby użyć poprawnej wersji do dalszych aktualizacji


3
user3223763 nie działał dla mnie, ani samo aktualizowanie npm. Dziękuję Daniel
— hectorg87

3
Mogę potwierdzić, że ta metoda pomogła w aktualizacji npm. Poprzednie metody miały niespełnione zależności bibliotek lub aktualizowały npm, ale nie aktualizowały ścieżki / środowiska, aby używały nowej lokalizacji.
— will824

To też działało dla mnie, inne odpowiedzi nie działały na Ubuntu 14.0.4
— islanddave

1
To zadziałało dla mnie przy użyciu Ubuntu 14.04 zainstalowanego na Chromebooku z Croutonem. Nic innego, co znalazłem w Internecie, nie działało
— Niall

18

nie zapomnij zamknąć i ponownie uruchomić okna terminala;)

(przynajmniej jeśli chcesz sprawdzić "npm --version" w terminalu)

sudo npm install npm -g

mnie to też załatwiło


13

Wygląda na to, że używasz Ubuntu (z wyświetlanego wiersza poleceń). Aby zaktualizować npmi nodejsmożesz skorzystać z repozytorium 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. dla Ubuntu 18.04
— anon58192932

Błąd: 11 ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release 404 Not Found [IP: 91.189.95.83 80]
— Kiran Reddy

1
aby pozbyć się irytującego błędu, uruchom: rm /etc/apt/sources.list.d/cooperjona-ubuntu-nitrotasks-bionic.list
— Abdelghani AINOUSS

9

Wypróbowałem powyższe opcje na Ubuntu 14.04, ale stale powodowałyby ten błąd:

npm ERR! pakiet tar Błąd odczytu /root/tmp/npm-15864/1465947804069-0.4854120113886893/package

Następnie znalazłem to rozwiązanie online:

1) Najpierw wyczyść pamięć podręczną npm:

sudo npm cache clean -f

2) Zainstaluj n modułu npm:

sudo npm install -g n

3) Rozpocznij instalację, wybierając wersję węzła do zainstalowania: stabilną lub najnowszą , tutaj użyjemy wersji stabilnej :

sudo n stable

4) Sprawdź wersję węzła:

node -v

5) Sprawdź wersję npm:

npm -v

W tej odpowiedzi można by wyjaśnić, co robią mniej oczywiste polecenia.
— Madbreaks

6

Aby uzyskać najnowszą stabilną wersję, po prostu uruchom

npm install npm@latest -g

U mnie działało dobrze!





1
npm i -g npm

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

to właśnie zaleca npm, gdy w terminalu druga część jest bezpośrednio kopiowana i wklejana z mojego terminala

uwaga: używam komputera Mac


Pytanie dotyczy konkretnie Ubuntu, a nie OSX. Gdybym spróbował twojego polecenia w ubuntu, npmnie powiedzie się Error: Cannot find module 'process-nextick-args'. Powinieneś usunąć swoją odpowiedź.
— Anthony Kong

1

Sprawdź swoją wersję węzeł węzeł -v i swoją npm wersję npm -v następnie zaktualizować KMP , wpisz w terminal: sudo npm zainstalować KMP @ najnowszy -g

Uwaga: system operacyjny oparty na Debianie {Ubuntu lub Linux mint}


1

NPM po uruchomieniu zwracał starszą wersję $ sudo npm install npm -g.

Ponowne uruchomienie terminala (tj. Zamknięcie i ponowne otwarcie) rozwiązało problem i $ npm --versionzaczęło zwracać oczekiwaną wersję.

* @Rimian wspomina o konieczności przeładowania terminala w komentarzu do innej odpowiedzi.


0

W przypadku, gdy chcesz zaktualizować npm do określonej wersji, możesz użyć tego:

npm install npm@version-number


0

Sprawdź wersję swojego węzła node -vi wersję npm npm -v Następnie Aby zaktualizować npm, wpisz w terminalu: npm install npm@latest -g

Mam nadzieję, że mogę pomóc. pozdrowienia


0

To właśnie zadziałało dla mnie na Ubuntu curl -L https://www.npmjs.com/install.sh | sh



0

Możesz użyć npmmenedżera pakietów:

npm install npm@latest

Instaluje się npmprzy użyciu samej @ najnowszej wersji.


-1

W przypadku Ubuntu 18.04

npm zainstaluj najnowszą wersję

Mam nadzieję, że to również dla Ciebie

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.