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.