Jak zmienić na starszą wersję Node.js


427

Korzystam z wersji Node.js v0.5.9-prena Ubuntu 10.10.

Chciałbym używać wersji v0.5.0-pre.

Jak przywrócić do starszej wersji węzła?


Zdaję sobie sprawę, że to stare pytanie, ale jeśli ktoś używa homebrew , sprawdź to pytanie: stackoverflow.com/questions/3987683/...
blong

Jeśli chcesz po prostu przetestować swój pakiet w starszej wersji, warto wspomnieć o nodepakiecie, który możesz zainstalować jako lokalny plik wykonywalny. Na przykład, v12.1: npm i --no-save node@12.1. Możesz uruchomić go w bieżącym folderze jak ./node_modules/node/bin/node .. Minusem jest to, że nie możesz / nie powinieneś instalować go globalnie.
geekley

Odpowiedzi:


478

Jednym ze sposobów jest użycie NVM, Node Version Manager.

Użyj następującego polecenia, aby uzyskać NVM

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

Można go znaleźć na https://github.com/creationix/nvm

Pozwala na łatwą instalację i zarządzanie wieloma wersjami węzła. Oto fragment pomocy:

Usage:
nvm install <version>       Download and install a <version>
nvm use <version>           Modify PATH to use <version>
nvm ls                      List versions (installed versions are blue)

2
Po ponownym uruchomieniu serwera, resetuje nvm i muszę mu powiedzieć, aby znów zaczął używać określonej wersji. Nawet po ustawieniu nvm alias default v0.5.0Czy wiesz, jak to zrobić, aby zachować ustawienia po ponownym uruchomieniu?
JD Isaacks,

3
Tak właśnie zrobiłem - z dokumentów: „Aby aktywować nvm, musisz go pobrać ze swojej powłoki bash. ~ / .Nvm / nvm.sh Zawsze dodaję ten wiersz do mojego pliku ~ / .bashrc lub ~ / .profile aby automatycznie pobierał źródła po zalogowaniu. Często umieszczam również wiersz, aby użyć konkretnej wersji węzła. ”
David EGP

2
ten nie działał dla mnie. Zawsze szew, aby być w tej samej wersji. github.com/tj/n działał dla mnie lepiej, prościej.
Pedro Luz

1
Możesz także mieć .nvmrcplik w katalogu z opisem wersji, której chcesz użyć. A potem po prostu nvm useróbcie i nie przejmujcie się niczym
Siergiej Panfilow

1
Dużo próbowałem nvm i okazało się, że nie było to zbyt intuicyjne. Właśnie wypróbowałem * NIX poniżej i od razu mogłem instalować i przełączać wersje bez błędów.
David Rhoderick

514

* NIX (Linux, OS X, ...)

Użyj n , niezwykle prostego menedżera wersji węzła, który można zainstalować za pomocą npm.

Powiedz, że chcesz, aby Node.js v0.10.x zbudował Atom .

npm install -g n   # Install n globally
n 0.10.33          # Install and use v0.10.33
Usage:
n                            # Output versions installed
n latest                     # Install or activate the latest node release
n stable                     # Install or activate the latest stable node release
n <version>                  # Install node <version>
n use <version> [args ...]   # Execute node <version> with [args ...]
n bin <version>              # Output bin path for <version>
n rm <version ...>           # Remove the given version(s)
n --latest                   # Output the latest node version available
n --stable                   # Output the latest stable node version available
n ls                         # Output the versions of node available

 

Windows

Użyj nvm-windows , to jest jak nvm, ale dla Windows. Pobierz i uruchom instalator , a następnie:

nvm install v0.10.33         # Install v0.10.33
nvm use v0.10.33             # Use v0.10.33
Usage:
nvm install [version]        # Download and install [version]
nvm uninstall [version]      # Uninstall [version]
nvm use [version]            # Switch to use [version]
nvm list                     # List installed versions

7
tak, nie ma szczęścia w systemie Windows. Zainstalowałem nvmw przy użyciu npm, i wykonało to zadanie! > npm install -g nvmw
Hugo Silva

4
nvmw nie jest już utrzymywany
Joe Lloyd

4
n use vesionNie można globalnie zmienić wersji węzła. Tylko jednorazowa zmiana.
Dai Kaixian,

3
Tę odpowiedź należy edytować, aby usunąć część systemu Windows, nvmw nie jest już obsługiwany. Każda próba użycia go w systemie Windows 10 powoduje „BŁĄD: system nie może znaleźć określonego klucza rejestru lub wartości”.
ohsully

1
Nie działało od razu na Ubuntu. n 9.6.0twierdzi, że zainstalował 9.6.0, ale node -vnadal pokazuje 9.6.1.
Dan Dascalescu

71

Po co używać dowolnego rozszerzenia, jeśli można to zrobić bez rozszerzenia :)

Zainstaluj określoną wersję węzła

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

Konkretna wersja: sudo n 4.4.4zamiastsudo n stable


11
Najwyraźniej nnie jest obsługiwany w systemie Windows.
jfriend00

na Ubuntu rzucany jest następujący błąd: npm WARN using --force Mam nadzieję, że wiesz, co robisz.
Harlan Chen

1
@HarlanChen To nie jest błąd. To ostrzeżenie. Możesz to zignorować.
Pankaj

2
Czy to nie njest rozszerzenie? Kiedy to robisz npm install -g n, instalujesz rozszerzenie ...
Aljosha Novakovic

proszę zignorować sudoczęść. nie powinieneś tego robić
kreig303

55

Windows:

Aby obniżyć poziom węzła.

npm install node@<version>
 ex: npm install node@8.10.0

Aby obniżyć swoją NPM.

npm install -g npm@<version>
 ex: npm install -g npm@3.10.10

Uwaga zamknij wszystkie okna, w których działa węzeł. Przeglądarka, edytor itp.

Musisz najpierw zainstalować węzeł. A jeśli już zainstalowałeś, możesz obniżyć wersję węzła i npm, po prostu uruchom powyższe polecenia. Jeśli nadal nie masz szczęścia i nie udało Ci się zaktualizować węzła. Spróbuj tego. Spróbuj zainstalować węzeł globalnie. dawny:

npm install -g node@8.10.0

Inną rzeczą do rozważenia tutaj jest próba aktualizacji npm, jeśli szukasz najnowszej wersji npm. Biegać

npm install npm@latest -g

PROCHOWIEC

Uwaga: w systemie Mac te same polecenia powinny działać. Mam nadzieję, że to rozwiązuje.


19
Frustrujące jest to, że nie zmienia to wersji mojego węzła.
Amos Long,

3
Wypróbowałem to podejście i nie zadziałało. Udało się odinstalować pakiet węzła z przystawki „Dodaj lub usuń programy”. Następnie pobierz żądaną wersję ze strony internetowej węzła.
Alberto S.

Jestem na komputerze Mac i w moim przypadku nie musiałem dodawać sudo, więc pisanie npm install -g node@8.12.0działało dobrze
Giorgio Tempesta,

1
Wielkie dzięki! To podejście pomaga zainstalować node@10.17.0 w moim projekcie, a następnie pozwolić mi odnieść sukces w instalacji Realm@3.4.0. Wcześniej próbowałem wielu różnych podejść, ale nadal nie udało mi się zainstalować najnowszej dziedziny w moim systemie Windows dla mojego projektu React-Native.
garykwwong


12

najprostszym sposobem, jaki znalazłem, jest po prostu skorzystanie ze strony nodejs.org :

  1. przejdź do https://nodejs.org/en/download/releases/
  2. znajdź żądaną wersję i kliknij pobierz
  3. na komputerze Mac kliknij plik .pkg plik wykonywalny i postępuj zgodnie z instrukcjami instalacji (nie wiesz, co to jest poprawny plik wykonywalny dla systemu Windows)
  4. ciesz się teraz, gdy jesteś w wersji żądanego węzła

1
Zdecydowanie najprostsza opcja!
Pan Waszyngton,

2
w systemie Windows: MSI nie obniży wersji węzła. Po prostu wychodzi.
Bernard,

9

nvmw nie jest już obsługiwany, ale znalazłem inne źródło, które wydaje się być aktualne (stan na 1/4/17).

NVM-Windows

To działa. Pozwolił mi obniżyć wersję do 6.3.1


8

The Official Way (Ubuntu)

Jeśli korzystasz z węzła 12 i chcesz obniżyć wersję do węzła 10, po prostu usuń węzeł i postępuj zgodnie z instrukcjami dla żądanej wersji:

# Remove the version that is currently installed
sudo apt remove -y nodejs

# Setup sources for the version you want
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

# (Re-)Install Node
sudo apt-get install -y nodejs

Windows

Przekonałem się, że chcę przejść na LTS w systemie Windows od najnowszej wersji. Jeśli nie używasz menedżera pakietów, takiego jak Chocolatey, lub menedżera wersji węzła, takiego jak nvm lub n, po prostu pobierz .msiodpowiednią wersję i zainstaluj ją. Możesz usunąć aktualnie zainstalowaną wersję za pomocą narzędzia „Dodaj lub usuń programy” w systemie Windows.

Chocolatey

Gorąco polecam Chocolatey do łatwego aktualizowania instalacji i jest to powszechny sposób instalowania Node.js w systemie Windows. Musiałem usunąć najnowszą wersję przed zainstalowaniem wersji LTS:

choco uninstall nodejs

choco install nodejs-lts

Z package.json

Zapewnia użytkownikom Twojego programu korzystanie z właściwej wersji

Możesz dodać nodejako zależność package.jsoni kontrolować, która wersja jest używana dla konkretnego projektu. Po wykonaniu package.json„skryptu” npm(i yarn) użyje tej wersji do uruchomienia skryptu zamiast globalnie zainstalowanego Node.js.

nodePakiet osiąga to poprzez pobranie nodepliku binarnego dla systemu lokalnego i umieszcza go w node_modules/.binkatalogu.


Menedżer wersji węzła

Choć nie jest zbyt przenośny, niektórzy programiści lubią ręcznie przełączać, która globalna wersja węzła jest aktywna w danym momencie. Istnieją dwa popularne pakiety npm, które zapewniają przydatne interfejsy CLI do wybierania (i automatycznej instalacji) dowolnej wersji systemu: nvmi n. Użycie jednego z nich jest poza zakresem tej odpowiedzi.




4

Miałem wersję węzła 6.4.0.

Ponieważ potrzebuję starszej wersji 6.3.0, właśnie ponownie zainstalowałem wersję 6.3.0 w moim systemie. wersja węzła obniżana automatycznie.

Aby obniżyć wersję węzła, wystarczy zainstalować starszą wersję węzła js. Zostanie obniżony automatycznie z wyższej wersji.

Próbowałem w OSX. To działa jak urok .


1

Z jakiegoś powodu Brew instaluje węzeł 5 w osobnym katalogu o nazwie node5.

Kroki, które podjąłem, aby wrócić do wersji 5:

  1. Zainstaluj node5 przy użyciu standardowej instalacji Brew, ALE jeszcze nie zaparz link.
  2. Odinstaluj wszystkie pozostałe wersje węzła za pomocą węzła brew unlink i węzła odinstalowania brew. Może być konieczne użycie opcji --force, aby usunąć jedną z wersji.
  3. Znajdź folder piwnicy na swoim komputerze
  4. Usuń folder węzłów w piwnicy.
  5. Zmień nazwę folderu node5 na node.
  6. Następnie zaparz węzeł łącza

Wszystko powinno być ustawione w węźle 5.


1

uruchomić to:

rm -rf node_modules && npm cache clear && npm install

Węzeł zainstaluje się z dowolnej pamięci podręcznej. Jeśli więc najpierw wyczyścisz wszystko, a następnie NPM użyje wersji 0.10.xx, nastąpi prawidłowe przywrócenie.

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.