Po użyciu nowej sesji terminala w systemie OS X nvm
zapomina o wersji węzła i przyjmuje wartość domyślną:
$ nvm ls
:
.nvm
v0.11.12
v0.11.13
Muszę ciągle uderzać nvm use v.0.11.13
w każdej sesji:
.nvm
v0.11.12
-> v0.11.13
Próbowałem zarówno brew
instalacji, jak i oficjalnego skryptu instalacyjnego.
Mój .profile
dla wersji naparu:
#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
A dla skryptu install.sh:
$ curl https://raw.githubusercontent.com/creationix/nvm/v0.10.0/install.sh | bash
#nvm
export NVM_DIR="/Users/farhad/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
.bash_profile
a nie twój.bashrc
Odpowiedzi:
Spróbować
nvm alias default
. Na przykład:$ nvm alias default 0.12.7
Ustawia domyślną wersję węzła w twojej powłoce. Następnie sprawdź, czy zmiana się utrzymuje, zamykając okno powłoki, otwierając nowe, a następnie:
node --version
źródło
$ nvm alias default 0.11.13
i$ nvm use 0.11.12
rozumiemnode --version = 0.11.12
. Mimo to w nowej sesji węzeł ponownie zniknął. W debianie wcale nie mam tego problemu.nvm alias defaul X
. Przy właściwym użyciu to faktycznie działa. Wydaje mi się, że przepływ pracy byłbynvm install X
wtedynvm alias default X
. Dzięki za pomoc!NVM_DIR
późniejnvm.sh
. Pamiętaj, aby wyeksportowaćNVM_DIR
wcześniej.nvm alias default
nie ustawia wersji węzła dla bieżącego środowiska, tylko dla wszystkich nowych..bash_profile
(lub.bashrc
czymkolwiek) nie masz nicPATH
po modyfikacjisource xx/nvm.sh
Alias do
node
siebie, aby później nie aktualizować domyślnego aliasu wraz z aktualizacjami wersji węzła.źródło
node alias default stable
?stable
już z niego korzystać . Z dokumentacji nvm: „stabilny: ten alias jest przestarzały i naprawdę dotyczy tylko węzła v0.12 i wcześniejszych. Obecnie jest to alias dla węzła”.node
to domyślne? Węzeł zainstalowany i używany przez NVM w bieżącej powłoce, czy Węzeł ewentualnie zainstalowany w systemie przez pakiet instalacyjny Node lub Homebrew itp.?node
(istable
, ale wszystko, co wydano w semver, jest stabilne, więc teraz jest to bezużyteczne słowo) używa najnowszej dostępnej wersji. W przypadku poleceń lokalnych, najnowszy zainstalowany; dla poleceń zdalnych, najnowsze dostępne.Aby zainstalować najnowszą stabilną wersję:
Aby ustawić domyślną wersję stabilną (zamiast konkretnej wersji):
Aby wyświetlić listę zainstalowanych wersji:
Od
v6.2.0
tego będzie wyglądać mniej więcej tak:źródło
nvm list
pomaga użytkownikom wizualizować, co dzieje się z ich wersjonowaniem. Dzięki!W moim przypadku inny program dodał
PATH
zmiany do.bashrc
Gdyby inny program zmienił
PATH
po inicjalizacji nvm, wówczasPATH
zmiany nvm zostałyby zapomniane, i dostalibyśmy węzeł systemowy na naszymPATH
(lub żadnym) węźle.Rozwiązaniem było przenieść konfigurację NVM do dołu z
.bashrc
Rozwiązanie:
(Było to w wersji bash 4.2.46 na CentOS. Wydaje mi się, że to błąd w bashu, ale mogę się mylić.)
źródło
nvm wykonuje swoje zadanie, zmieniając zmienną PATH, więc musisz upewnić się, że po zmianie źródła nvm.sh nie zmienisz PATH na coś innego.
W moim przypadku nvm.sh został wywołany w .bashrc, ale zmienna PATH była aktualizowana w .bash_profile, co spowodowało, że moja sesja znalazła węzeł systemowy przed węzłem nvm.
źródło
nvm alias default
invm use
do wersji, której potrzebowałem..bashrc
export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"
Najwyżej oceniane rozwiązania nie działały dla mnie. Moje rozwiązanie jest poniżej:
brew uninstall nvm
brew install nvm
W Terminalu wykonaj poniższe kroki (są one również wymienione podczas instalowania NVM przez Homebrew):
Kroki opisane powyżej dodają katalog roboczy NVM do ścieżki $ HOME, skopiują nvm-exec do katalogu roboczego NVM i dodadzą do $ HOME / .bashrc, $ HOME / .zshrc lub równoważnego pliku konfiguracyjnego powłoki. (Ponownie pobrany z whats wymienione w instalacji NVM przy użyciu homebrew)
źródło
Jeśli próbujesz wszystkiego, wciąż nie masz szczęścia, możesz spróbować tego: _
1 -> Odinstaluj NVM
2 -> Usuń zależności npm, wykonując to
3 -> Zainstaluj NVM
4 -> Ustaw
~/.bash_profile
konfiguracjęBiegać
sudo nano ~/.bash_profile
Skopiuj i wklej po tym
5 ->
CONTROL + X
zapisz zmiany6 -> Uruchom
. ~/.bash_profile
7 -> Teraz powinieneś
nvm
zainstalować na swoim komputerze, aby zainstalować uruchomienie węzła,nvm install v7.8.0
będzie to domyślna wersja węzła lub możesz zainstalować dowolną wersję węzłaźródło
To pytanie wspominało o OSX, ale zdarzyło mi się to w moim systemie Linux. Próbowałem użyć,
nvm alias default <version>
ale dla każdej nowej sesji terminala używana wersja węzła została zapomniana. oto rozwiązanie, które wymyśliłem.upewnij się, że ustawiłeś domyślny alias dla wersji węzła , umieść następujący kod w .bashrc i
source .bashrc
.opisowy link do rozwiązania
źródło
v
w wersji podczas ustawiania pilota. Np.v4.2.4
Zamiast4.2.4
.Robi
nvm install 10.14
, na przykład,nvm use
że wersja dla bieżącej sesji powłoki, ale to będzie nie zawsze ustawić go jako domyślny dla przyszłych sesjach, jak można by oczekiwać. Wersja węzła, którą otrzymujesz w nowej sesji powłoki, jest określona przeznvm alias default
. Myląconvm install
ustawi domyślny alias tylko wtedy, gdy nie jest jeszcze ustawiony. Aby uzyskać oczekiwane zachowanie, wykonaj następujące czynności:Zapewni to pobranie tej wersji, użycie jej dla bieżącej sesji i ustawienie jej jako domyślnej dla przyszłych sesji.
źródło
uruchom to po zainstalowaniu dowolnej wersji,
To polecenie kopiuje dowolną wersję węzła, którą masz aktywną przez nvm, do katalogu / usr / local / i ustawia uprawnienia, aby wszyscy użytkownicy mieli do nich dostęp.
źródło
&&
s zamiast;
s w tym poleceniu. Jeśliwhich
nie uda się znaleźć węzła, nie chcemy kontynuować chmod/bin/*
!Znalazłem tutaj nowy sposób. Korzystanie
n
Interaktywnie Zarządzaj Twój node.js pomaga.źródło
fish
powłoki, ale zaakceptowana odpowiedź nie działała dla mnie.n
działa uczta!Używam ZSH, więc musiałem zmodyfikować
~/.zshrc
wiersze dotyczące NVM w tej kolejności:źródło
gdy użyjemy powyższego polecenia, tylko zaktualizuj wersję węzła, ale
npm
nadal używa starej wersji.Oto kolejny rozwiązaniem dla obu aktualizacji
node
inpm
, w moim przypadku chcę użyć węzła8.9.4
i Użyłem poniżej polecenia.A polecenie zwraca dane wyjściowe.
źródło
Jeśli masz także SDKMAN ...
W jakiś sposób SDKMAN był w konflikcie z moim NVM. Jeśli masz już dość rozumowania i nadal nie możesz tego rozgryźć, po prostu to naprawiłem, ignorując „TO MUSI BYĆ NA KOŃCU PLIKU ...” SDKMAN i umieszczając za nim linie NVM.
źródło
Napotkałem ten sam problem podczas korzystania ze zintegrowanego terminala w edytorze VS Code. Ponowne uruchomienie kodu VS po zmianie wersji węzła za pomocą nvm naprawiło problem.
źródło
Oto prosta instrukcja:
1) Zainstaluj:
2) Użyj raz na terminal
3) Ustaw jako domyślne dla wszystkich terminali
Do wykonania tych czynności może być konieczne użycie uprawnień administratora.
I nie zapomnij sprawdzić dokumentacji NVM, aby uzyskać więcej informacji.
Należy również pamiętać, że może być konieczne określenie wersji węzła dla IDE:
źródło
Również w przypadku, gdy masz zainstalowany węzeł przed nvm, sprawdź ~ ~ .bash_profile, aby nie mieć czegoś takiego:
Jeśli tak, skomentuj / usuń, a nvm powinien rozpocząć obsługę domyślnej wersji węzła.
źródło
Po długim czasie konfliktu z tym problemem znalazłem sposób, aby go naprawić. Oto rozwiązanie problemu krok po kroku:
Otwórz terminal i zainstaluj narzędzia programistyczne wiersza polecenia:
xcode-select --install
Naciśnij enter
Zainstaluj najnowszą wersję NVM:
cd ~/
Naciśnij enter
git clone https://github.com/creationix/nvm.git .nvm
Jeśli już wcześniej utworzyłeś folder .nvm, zobaczysz następny komunikat o błędzie:
fatal: destination path '.nvm' already exists and is not an empty directory.
W przeciwnym razie zobaczysz, że proces klonowania działa, dopóki się nie zakończy.
Sprawdź najnowszą wersję NVM:
cd ~/.nvm
Naciśnij enter
git checkout v0.34.0
Otrzymasz odpowiedź podobną do:
HEAD is now at 3d9c31d v0.34.0
Wersja może być inna w różnych systemach.
ls
Naciśnij enter
. nvm.sh
Naciśnij enter
nvm list
Naciśnij enter
Zobaczysz różne wersje węzłów zainstalowane na twoim komputerze, mogą wystąpić błędy, nie zwracaj na nie uwagi.
nvm ls-remote | tail -n9
Naciśnij enter
nvm list
Otwórz bash używając vima:
vim ~/.bash_profile
W edytorze vim naciśnij:,
i
aby wejśćINSERT mode
i rozpocząć nowy wiersz. Jeśli podczas edycji wystąpią jakieś błędy, naciśnijESC
przycisk, a następnie:q!
wyjdź bez zapisywania.export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Naciśnij
ESC
klawisz po zakończeniu edycji pliku (zobaczysz, że tryb INSERT znika).:wq
aby zapisać plik.Naciśnij enter
nvm ls-remote | tail -n9
Naciśnij enter i zainstaluj najnowszą prezentowaną wersję NVM:
nvm install 12.6.0
Po zakończeniu procesu zobaczysz:
Now using node v12.6.0 (npm v6.9.0)
Możesz sprawdzić, czy instalacja się powiedzie, naciskając:
node -v
lubnpm -v
powinien pokazywać wersje zarówno NVM, jak i NPM zainstalowane w twoim systemie.źródło