$ nvm ls
:
.nvm
v0.11.12
v0.11.13
Ik moet in elke sessie nvm use v.0.11.13
blijven raken:
.nvm
v0.11.12
-> v0.11.13
Ik heb zowel de brew
-installatie als het officiële installatiescript geprobeerd.
Mijn .profile
voor de brouwversie:
#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
En voor het install.sh-script:
$ 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
Enig idee van wat ik verkeerd doe?
Antwoord 1, autoriteit 100%
Probeer nvm alias default
. Bijvoorbeeld:
$ nvm alias default 0.12.7
Dit stelt de standaard node-versie in je shell in. Controleer vervolgens of de wijziging aanhoudt door het shell-venster te sluiten, een nieuwe te openen en vervolgens:
node --version
Antwoord 2, autoriteit 8%
Alias naar node
zelf om te voorkomen dat de standaardalias samen met node-versie-updates later wordt bijgewerkt.
nvm alias default node
Antwoord 3, autoriteit 4%
In mijn geval had een ander programma PATH
wijzigingen toegevoegd aan .bashrc
Als het andere programma het PATH
nanvm’s initialisatie zou wijzigen, dan zouden de PATH
wijzigingen van nvm vergeten worden en zouden we het systeemknooppunt krijgen op ons PATH
(of geen node).
De oplossing was om de nvm-setup te verplaatsen naar de onderkantvan .bashrc
### BAD .bashrc ###
# NVM initialisation
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
# Some other program adding to the PATH:
export PATH="$ANT_ROOT:$PATH"
Oplossing:
### GOOD .bashrc ###
# Some other program adding to the PATH:
export PATH="$ANT_ROOT:$PATH"
# NVM initialisation
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
(Dit was met bash 4.2.46 op CentOS. Het lijkt mij een bug in bash, maar ik kan me vergissen.)
Antwoord 4, autoriteit 3%
Om de nieuwste stabiele versie te installeren:
nvm install stable
Standaard instellen op de stabiele versie (in plaats van een specifieke versie):
nvm alias default stable
Geïnstalleerde versies weergeven:
nvm list
Vanaf v6.2.0
ziet het er ongeveer zo uit:
$ nvm list
v4.4.2
-> v6.2.0
default -> stable (-> v6.2.0)
node -> stable (-> v6.2.0) (default)
stable -> 6.2 (-> v6.2.0) (default)
iojs -> N/A (default)
Antwoord 5, autoriteit 2%
nvm doet zijn werk door de PATH-variabele te wijzigen, dus je moet ervoor zorgen dat je je PATH niet op de een of andere manier in iets anders verandert nadat je het nvm.sh-script hebt gevonden.
In mijn geval werd nvm.sh aangeroepen in .bashrc, maar toen werd de PATH-variabele bijgewerkt in .bash_profile, waardoor mijn sessie het systeemknooppunt vóór het nvm-knooppunt vond.
Antwoord 6
De best beoordeelde oplossingen leken niet te werken voor mij. Mijn oplossing staat hieronder:
- Verwijder nvm volledig met homebrew:
brew uninstall nvm
- Herinstalleer
brew install nvm
-
Volg in Terminal de stappen
hieronder (deze worden ook vermeld bij het installeren van nvm via homebrew):mkdir ~/.nvm
cp $(brew –prefix nvm)/nvm-exec ~/.nvm/
export NVM_DIR=~/.nvm
bron $(brew –prefix nvm)/nvm.sh
De hierboven beschreven stappen zullen NVM’s werkdirectory toevoegen aan uw $HOME-pad, nvm-exec kopiëren naar NVM’s werkdirectory en toevoegen aan $HOME/.bashrc, $HOME/.zshrc of het equivalente configuratiebestand van uw shell. (opnieuw) overgenomen van wat wordt vermeld op een NVM-installatie met homebrew)
Antwoord 7
Hier is een eenvoudige instructie:
1) Installeren:
nvm install 8.10.0
2) Eén keer per terminal gebruiken
nvm use 8.10.0
3) Standaard instellen voor alle terminals
nvm alias default 8.10.0
Mogelijk moet u root-rechten gebruiken om deze acties uit te voeren.
En vergeet niet de nvm-documentatiete raadplegen voor meer informatie.
Houd er ook rekening mee dat u mogelijk de node-versie voor uw IDE moet specificeren:
Antwoord 8
Als je alles hebt geprobeerd en nog steeds geen geluk hebt, kun je dit proberen :_
1 -> NVM verwijderen
rm -rf ~/.nvm
2 -> Verwijder npm-afhankelijkheden door dit
te volgen
3 -> NVM installeren
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
4 -> Stel ~/.bash_profile
configuratie in
Voer sudo nano ~/.bash_profile
uit
Kopieer en plak hierna
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
5 -> CONTROL + X
sla de wijzigingen op
6 -> Voer . ~/.bash_profile
7 -> Nu zou u nvm use
op uw computer moeten hebben geïnstalleerd, om node te installeren voer nvm install v7.8.0
uit. Dit is de standaard node-versie of u kunt elke versie van node installeren
Antwoord 9
Deze vraag is genoemd voor OSX, maar het overkwam mij in mijn Linux-besturingssysteem.
Ik heb geprobeerd nvm alias default <version>
te gebruiken, maar voor elke nieuwe terminalsessie werd de gebruikte node-versie vergeten.
dus hier is de oplossing die ik heb bedacht.
zorg ervoor dat u een standaardalias instelt voor de knooppuntversie, plaats de volgende code in .bashrc en source .bashrc
.
export NVM_DIR="/home/bonnie/.nvm"
## If the file exists and is not empty
if [ -s "$NVM_DIR/nvm.sh" ]; then
## Source it
source "$NVM_DIR/nvm.sh"
fi
NODE_DEFAULT_VERSION=$(<"$NVM_DIR/alias/default")
export PATH="$NVM_DIR/versions/node/$NODE_DEFAULT_VERSION/bin":$PATH
Antwoord 10
Ik gebruik ZSH, dus ik moest ~/.zshrc
aanpassen met de regels over NVM in die volgorde:
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
source ~/.nvm/nvm.sh
Antwoord 11
Als u bijvoorbeeld nvm install 10.14
installeert, zal nvm use
die versie gebruiken voor de huidige shell-sessie, maar het zal nietaltijd instellen als de standaard voor toekomstige sessies zoals u zou verwachten. De knooppuntversie die u in een nieuwe shell-sessie krijgt, wordt bepaald door nvm alias default
. Verwarrend genoeg zal nvm install
alleen de standaardalias instellen als deze nog niet is ingesteld. Ga als volgt te werk om het verwachte gedrag te krijgen:
nvm alias default ''; nvm install 10.14
Dit zorgt ervoor dat die versie wordt gedownload, gebruikt voor de huidige sessie enstelt deze in als standaard voor toekomstige sessies.
Antwoord 12
voer dit uit nadat u een versie heeft geïnstalleerd,
n=$(which node);n=${n%/bin/node}; chmod -R 755 $n/bin/*; sudo cp -r $n/{bin,lib,share} /usr/local
Dit commando kopieert welke versie van node dan ook die je actief hebt via nvm naar de /usr/local/ directory en stelt de rechten in zodat alle gebruikers er toegang toe hebben.
Antwoord 13
Ik heb hier een nieuwe manier gevonden. Het gebruik van n
Interactief beheer van uw Node.js helpt.
Antwoord 14
Als je ook SDKMAN hebt…
Op de een of andere manier was SDKMAN in conflict met mijn NVM. Als je hiermee klaar bent en er nog steeds niet achter komt, heb ik het gewoon opgelost door de “THIS MUST BE AT THE END OF THE FILE…” van SDKMAN te negeren en de NVM-regels erachter te plaatsen.
#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
export SDKMAN_DIR="/Users/myname/.sdkman"
[[ -s "/Users/myname/.sdkman/bin/sdkman-init.sh" ]] && source "/Users/myname/.sdkman/bin/sdkman-init.sh"
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
Antwoord 15
Ik had hetzelfde probleem bij het gebruik van de geïntegreerde terminal in de VS Code-editor. Het herstarten van VS-code na het wijzigen van de knooppuntversie met nvm loste het probleem voor mij op.
Antwoord 16
Om de een of andere reden vond ik dit in mijn .bashrc-bestand:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" --no-use # This loads nvm
en moest de vlag –no-useverwijderen, waarvan ik me niet kan herinneren dat ik die daar op de eerste plaats heb gezet…
Nog iets om te controleren.
Antwoord 17
$ nvm alias default {NODE_VERSION}
wanneer we het bovenstaande commando gebruiken, werk dan alleen de node-versie bij, maar de npm
gebruikt nog steeds de oude versie.
Hier is een andere oplossing voor het updaten van zowel node
als npm
, in mijn geval wil ik node 8.9.4
gebruiken en ik heb gebruikte het onderstaande commando.
$ nvm use default 8.9.4
En het commando retourneert de uitvoer.
Gebruik nu node v8.9.4 (npm v5.6.0)
Antwoord 18
Zoals vermeld in de sectie over problemen van de repository, is nvm use
slechts voor een levensduur van de shell. Ik vond dit erg handig, maar soms kan het je in de problemen brengen als je aan verschillende codebases werkt die verschillende versies van code nodig hebben.
Dit is de linkvoor de gerelateerde discussie in GitHub
Antwoord 19
Ook als u nodehad geïnstalleerd vóór nvm, controleer dan uw ~/.bash_profileom iets als :
niet te hebben
export PATH=/bin:/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$PATH
Als je het wel hebt, becommentarieer/verwijder het en nvmzou moeten beginnen met het afhandelen van de standaard node-versie.