Używam NVM do instalowania najnowszych wersji nodeJS do pracy z moim węzłem. Działa całkowicie dobrze do instalowania osobnych wersji i przełączania między nimi. Instaluje również najnowszą wersję NPM w każdym lokalnym folderze ... / bin wraz z plikiem binarnym węzła. Jednak wydaje się, że nie ma sposobu na zmianę wersji NPM, której używam (a przynajmniej nie mogę tego rozgryźć).
Jedyne rozwiązanie, jakie mogę sobie wyobrazić, to usunięcie pliku binarnego, w którym jest domyślnie ustawiony (tj. NPM, który został zainstalowany, kiedy pierwszy raz zainstalowałem węzeł z NVM), a na jego miejscu umieścić najnowszy plik binarny NPM. Zastanawiam się jednak, czy istnieją lepsze sposoby na zrobienie tego.
Odpowiedzi:
EDYCJA: kilka lat od pierwszej odpowiedzi na to pytanie, jak zauważono w nowszej odpowiedzi , istnieje teraz polecenie:
nvm install-latest-npm
: Próba aktualizacji do najnowszej wersjinpm
na bieżącej wersji węzłanvm install --latest-npm
: Po instalacji spróbuj zaktualizować do najnowszej działającej npm w danej wersji węzłaPoniżej znajdują się poprzednie wersje poprawnej odpowiedzi na to pytanie.
Po ponad trzech latach od pierwszego pytania wydaje się, że odpowiedź jest teraz znacznie prostsza. Po prostu zaktualizuj wersję, która została zainstalowana przez NVM
~/.nvm/versions/node/[your-version]/lib/node_modules/npm
.Właśnie zainstalowałem węzeł 4.2.2, który jest dostarczany z npm 2.14.7, ale chcę użyć npm 3. Więc zrobiłem:
Łatwo!
I tak, powinno to działać dla każdego modułu, nie tylko npm, który ma być „globalny” dla konkretnej wersji węzła.
EDYCJA 1: W najnowszej wersji
npm -g
jest inteligentny i instaluje moduły na ścieżce powyżej zamiast globalnej ścieżki systemowej.Dzięki @philraj za zwrócenie na to uwagi w komentarzu.
źródło
which npm
.npm install [email protected]
aby pobrać tę konkretną wersję, np.[email protected]
cd ~/AppData/Roaming/nvm/v5.10.1
.nvm install-latest-npm
jak samlandfried odpowiedział poniżej - stackoverflow.com/a/47519162/5991278nvm nie obsługuje npm.
Jeśli więc chcesz zainstalować węzeł 0.4.x (od którego wciąż zależy wiele pakietów) i użyć NPM, nadal możesz użyć npm 1.0.x.
Zainstaluj węzeł 0.6.x (który jest dostarczany z npm 1.1.x) i zainstaluj nvm z npm:
Zainstaluj węzeł 0.4.x z nvm:
Zainstaluj npm za pomocą install.sh (zwróć uwagę na
-L
parametry, aby śledzić wszelkie przekierowania):Wykryje to węzeł 0.4.12 i zainstaluje npm 1.0.106 w twoim folderze ~ / nvm / v0.4.12 / lib / node_modules i utworzy dowiązanie symboliczne dla nvm
Jeśli spróbujesz uruchomić npm, nadal będzie to dawać błąd, ale jeśli zrobisz to
nvm use v0.4.12
jeszcze raz, powinno działać.źródło
curl https://npmjs.org/install.sh | sh
curl -L
aby postępować zgodnie z przekierowaniem.nvm ma teraz polecenie aktualizacji npm. To jest
nvm install-latest-npm
lubnpm install --latest-npm
.źródło
nvm help
danych wyjściowych konsoli:--latest-npm After installing, attempt to upgrade to the latest working npm on the given node version
nie znalazłem jednak odniesienia do tego wnvm
dokumentacji. Udostępnij, jeśli go znajdziesz.źródło
Korzystam z systemu Windows i nie mogłem uruchomić żadnego z tych elementów. Wciąż pojawiały się błędy dotyczące blokowania plików. Działa to jednak:
I bum, wróciłem do biznesu.
źródło
mv
sięren
irm
dodel
irmdir
dla mnie.Zmiana wersji npm w systemach operacyjnych opartych na Linuksie nie jest jeszcze prostym procesem jednemu poleceniu. Zrobiłem następujące, aby wrócić do starszej wersji npm. Powinno to działać, aby uruchomić dowolną wersję npm. Najpierw zainstaluj wersję npm, której chcesz użyć:
Usuń link sym z / usr / local / bin /
Utwórz ponownie łącze sym, używając żądanej wersji zainstalowanej npm
źródło
sudo npm install -g [email protected]
powoduje, że ta wersja odpowiadanpm -v
. W każdym razie działało to przynajmniej z wersji 4.x do 2.15.9.sudo npm install -g [email protected]
zainstalowano tylko 4.6.1, ale nadal używano npm 5.1.0. Twoja wskazówka pomoże mi przejść na 4.6.1.Przeglądając stronę www.npmjs.com/install.sh odkryłem, że istnieje sposób na zainstalowanie określonej wersji poprzez ustawienie zmiennej środowiskowej
export npm_install="2.14.14"
Następnie uruchom skrypt pobierania zgodnie z opisem na stronie npmjs.com :
curl -L https://www.npmjs.com/install.sh | sh
Jeśli pominiesz ustawianie zmiennej npm_install , zainstaluje ona wersję, którą oznaczyli jako najnowszą
źródło
curl -L https://www.npmjs.com/install.sh | sudo sh
, aaaa i ta metoda nie działała, otrzymując najnowszą wersję, mimo że wyeksportowałem wspomnianą zmienną środowiskową. Niech to szlag. Chciałem wersji 2.15.9 z 2.14.7, odpowiedź poniżej ustawiła mnie na 3.8.6, a teraz ta odpowiedź ustawia mnie na 4.0.2. WTF.W systemie Windows uruchom terminal jako administrator (w przypadku problemów z uprawnieniami, tak jak ja). Następnie użyj określonej wersji węzła (powiedzmy 7.8.0) przez
następnie zaktualizuj swój NPM do żądanej konkretnej wersji przez
źródło
Co
npm i -g npm
? Czy próbowałeś to również uruchomić?źródło
Niewielkie różnice w powyższych instrukcjach, działały dla mnie. (MacOS Sierra 10.12.6)
źródło
nvm use 8.11.4
Po prostu idź z
nvm use node_version
źródło
Miałem ten sam problem po instalacji
nvm-windows
na istniejącej instalacji Węzła. Rozwiązaniem było po prostu postępować zgodnie z instrukcjami:Instalacja i aktualizacje
źródło
Instalacja i użycie NVM w systemie Windows
Poniżej znajdują się kroki instalacji NVM w systemie Windows:
NVM oznacza menedżera wersji węzłów, który pomoże przełączyć wersje węzłów do określonego zastosowania. Pozwala także na pracę z wieloma wersjami npm i węzłów.
Zainstaluj konfigurację NVM. Użyj polecenia „lista NVM”, aby sprawdzić listę zainstalowanych wersji węzłów. Wpisz „nvm użyj numeru wersji [6.9.3]”, aby przełączyć wersje. Po więcej informacji
źródło