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
[email protected] /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?

user3567174
źródło
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 .

Yauhen Yakimovich
źródło
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

Daniel Loureiro
źródło
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

Daniel Kettemann
źródł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
user3723763
źródło
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
Kostyantyn
źródło
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!

Andre Paschoal
źródło
6

Możesz spróbować:

sudo npm i -g npm
jitendra rajput
źródło
2

aktualizacja do 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

Źródło z nodesource.com

Rémi Becheras
źródło
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

Nicholas Rotondo
źródło
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}

Md.Imam Hossain Roni
źródło
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.

Daniel
źródło
0

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

npm install npm@version-number

Hardie
źródło
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

Nicollas
źródło
0

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

Sheshnath
źródło
0
nvm install-latest-npm

jeśli używasz nvm

muenalan
źródło
0

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

npm install npm@latest

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

Justin Liu
źródło
-1

W przypadku Ubuntu 18.04

npm zainstaluj najnowszą wersję

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

user2642281
źródło