Lors de l'utilisation d'une nouvelle session de terminal dans OS X, nvm
oublie la version du nœud et ne prend par défaut rien:
$ nvm ls
:
.nvm
v0.11.12
v0.11.13
Je dois continuer à frapper nvm use v.0.11.13
à chaque session:
.nvm
v0.11.12
-> v0.11.13
J'ai essayé à la fois l' brew
installation et le script d'installation officiel.
Ma .profile
version brew:
#nvm
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Et pour le script 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
et non votre.bashrc
Réponses:
Essayez
nvm alias default
. Par exemple:$ nvm alias default 0.12.7
Cela définit la version du nœud par défaut dans votre shell. Vérifiez ensuite que le changement persiste en fermant la fenêtre du shell, en ouvrant une nouvelle, puis:
node --version
la source
$ nvm alias default 0.11.13
et$ nvm use 0.11.12
, je reçoisnode --version = 0.11.12
. Pourtant, dans une nouvelle session, le nœud a disparu à nouveau. Dans Debian, je n'ai pas du tout ce problème.nvm alias defaul X
. Avec la bonne utilisation, cela fonctionne réellement. Donc, le flux de travail seraitnvm install X
alorsnvm alias default X
, je suppose. Merci d'avoir aidé!NVM_DIR
afternvm.sh
. Assurez-vous d'exporter l'NVM_DIR
avant.nvm alias default
cela ne définit pas la version du nœud pour l'environnement actuel, juste pour tous les nouveaux..bash_profile
(ou.bashrc
quoi que ce soit) vous n'avez rien modifiéPATH
aprèssource xx/nvm.sh
Alias à
node
lui-même pour éviter de mettre à jour l'alias par défaut avec les mises à jour de version de nœud plus tard.la source
node alias default stable
?stable
. D'après les documents nvm: "stable: cet alias est obsolète et ne s'applique vraiment qu'au nœud v0.12 et versions antérieures. Actuellement, il s'agit d'un alias pour le nœud".node
est-ce par défaut? Le Node installé et utilisé par NVM dans le shell actuel, ou le Node éventuellement installé sur le système par le package d'installation de Node ou Homebrew etc?node
(etstable
, mais tout ce qui est publié dans semver est stable, c'est donc un mot inutile) utilise la dernière version disponible. Pour les commandes locales, la dernière installée; pour les commandes à distance, dernière version disponible.Pour installer la dernière version stable:
Pour définir par défaut la version stable (au lieu d'une version spécifique):
Pour répertorier les versions installées:
À partir de
v6.2.0
, cela ressemblera à quelque chose comme:la source
nvm list
permet aux utilisateurs de visualiser ce qui se passe avec leur versioning. Merci!Dans mon cas, un autre programme a ajouté des
PATH
modifications à.bashrc
Si l'autre programme modifiait l' initialisation
PATH
après nvm, alors lesPATH
changements de nvm seraient oubliés et nous obtiendrions le nœud système sur notrePATH
(ou aucun nœud).La solution consistait à déplacer la configuration nvm au bas de
.bashrc
Solution:
(C'était avec bash 4.2.46 sur CentOS. Cela me semble être un bug dans bash, mais je peux me tromper.)
la source
nvm fait son travail en changeant la variable PATH, vous devez donc vous assurer que vous ne changez pas votre chemin en quelque chose d'autre après avoir obtenu le script nvm.sh.
Dans mon cas, nvm.sh était appelé dans .bashrc mais la variable PATH était mise à jour dans .bash_profile, ce qui a amené ma session à trouver le nœud système avant le nœud nvm.
la source
nvm alias default
etnvm use
à la version dont j'avais besoin..bashrc
:export NVM_DIR="$HOME/.nvm"
puis. "/usr/local/opt/nvm/nvm.sh"
Les solutions les mieux notées ne semblaient pas fonctionner pour moi. Ma solution est ci-dessous:
brew uninstall nvm
brew install nvm
Dans Terminal, suivez les étapes ci-dessous (elles sont également répertoriées lors de l'installation de nvm via homebrew):
Les étapes décrites ci-dessus ajouteront le répertoire de travail de NVM à votre chemin $ HOME, copiez nvm-exec dans le répertoire de travail de NVM et ajouteront à $ HOME / .bashrc, $ HOME / .zshrc ou au fichier de configuration équivalent de votre shell. (À nouveau tiré de ce qui est répertorié sur une installation NVM utilisant homebrew)
la source
Si vous avez tout essayé mais pas de chance, vous pouvez essayer ceci: _
1 -> Désinstaller NVM
2 -> Supprimer les dépendances npm en suivant ceci
3 -> Installer NVM
4 -> Définir la
~/.bash_profile
configurationCourir
sudo nano ~/.bash_profile
Copiez et collez en suivant
5 ->
CONTROL + X
enregistrer les modifications6 -> Exécuter
. ~/.bash_profile
7 -> Maintenant, vous devriez avoir
nvm
installé sur votre machine, pour installer le nœud,nvm install v7.8.0
ce sera la version par défaut du nœud ou vous pouvez installer n'importe quelle version du nœudla source
Cette question a été mentionnée pour l'OSX, mais elle m'est arrivée dans mon système d'exploitation Linux. J'ai essayé d'utiliser,
nvm alias default <version>
mais pour chaque nouvelle session de terminal, la version du nœud utilisé était oubliée. voici donc la solution que j'ai trouvée.assurez-vous de définir un alias par défaut pour la version du nœud , mettez le code suivant dans .bashrc et
source .bashrc
.lien de solution descriptive
la source
v
dans la version lors du réglage de la télécommande. Par exemplev4.2.4
au lieu de4.2.4
.Par
nvm install 10.14
exemple,nvm use
cette version sera utilisée pour la session shell actuelle, mais elle ne la définira pas toujours comme valeur par défaut pour les sessions futures, comme vous vous en doutez. La version du nœud que vous obtenez dans une nouvelle session shell est déterminée parnvm alias default
. Confusément,nvm install
ne définira l'alias par défaut que s'il n'est pas déjà défini. Pour obtenir le comportement attendu, procédez comme suit:Cela garantira que cette version est téléchargée, l'utiliser pour la session en cours et la définir comme valeur par défaut pour les sessions futures.
la source
exécutez cela après avoir installé une version,
Cette commande copie la version du nœud que vous avez active via nvm dans le répertoire / usr / local / et définit les autorisations afin que tous les utilisateurs puissent y accéder.
la source
&&
s au lieu de;
s dans cette commande. Si lewhich
ne parvient pas à trouver le nœud, nous ne voulons pas passer à chmod/bin/*
!J'ai trouvé une nouvelle façon ici. L'utilisation de la
n
gestion interactive de Node.js vous aide.la source
fish
shell, mais la réponse acceptée n'a pas fonctionné pour moi.n
fonctionne un régal!J'utilise ZSH, j'ai donc dû modifier
~/.zshrc
les lignes concernant NVM dans cet ordre:la source
lorsque nous utilisons la commande ci-dessus, ne mettez à jour que la version du nœud mais
npm
utilise toujours l'ancienne version.Voici une autre solution pour mettre à jour les deux
node
etnpm
, dans mon cas, je veux utiliser le nœud8.9.4
et j'ai utilisé la commande ci-dessous.Et la commande renvoie la sortie.
la source
Si vous avez également SDKMAN ...
D'une manière ou d'une autre, SDKMAN était en conflit avec ma NVM. Si vous êtes à bout de souffle avec cela et que vous ne pouvez toujours pas le comprendre, je l'ai juste corrigé en ignorant le "CECI DOIT ÊTRE À LA FIN DU FICHIER ..." de SDKMAN et en mettant les lignes NVM après.
la source
J'étais confronté au même problème lors de l'utilisation du terminal intégré dans l'éditeur VS Code. Le redémarrage de VS Code après avoir changé la version du nœud à l'aide de nvm a résolu le problème pour moi.
la source
Voici une instruction simple:
1) Installez:
2) Utiliser une fois par terminal
3) Configurer par défaut pour tous les terminaux
Vous devrez peut-être utiliser les autorisations root pour effectuer ces actions.
Et n'oubliez pas de consulter la documentation nvm pour plus d'informations.
Notez également que vous devrez peut-être spécifier la version du nœud pour votre IDE:
la source
De plus, si vous avez installé un nœud avant nvm, vérifiez dans votre ~ / .bash_profile pour ne pas avoir quelque chose comme:
Si vous l'avez, commentez / supprimez-le et nvm devrait commencer à gérer la version du nœud par défaut.
la source
Après une longue période de conflit avec ce problème, j'ai trouvé comment le résoudre. Voici une solution étape par étape pour le problème:
Ouvrez le terminal et installez les outils de développement en ligne de commande:
xcode-select --install
Appuyez sur Entrée
Installez la dernière version de NVM:
cd ~/
Appuyez sur Entrée
git clone https://github.com/creationix/nvm.git .nvm
Si vous avez déjà créé le dossier .nvm auparavant, vous verrez le message d'erreur suivant:
fatal: destination path '.nvm' already exists and is not an empty directory.
Sinon, vous verrez le processus de clonage s'exécuter jusqu'à ce qu'il soit terminé.
Découvrez la dernière version de NVM:
cd ~/.nvm
Appuyez sur Entrée
git checkout v0.34.0
Vous obtiendrez une réponse similaire à:
HEAD is now at 3d9c31d v0.34.0
La version peut être différente sur différents systèmes.
ls
Appuyez sur Entrée
. nvm.sh
Appuyez sur Entrée
nvm list
Appuyez sur Entrée
Vous verrez les différentes versions de nœuds installées sur votre machine, il peut y avoir des erreurs, ne leur prêtez pas attention.
nvm ls-remote | tail -n9
Appuyez sur Entrée
nvm list
Ouvrez bash en utilisant vim:
vim ~/.bash_profile
Dans l'éditeur vim, appuyez sur:
i
pour entrerINSERT mode
et démarrer une nouvelle ligne. Si vous avez des erreurs lors de l'édition, appuyez sur laESC
touche puis sur:q!
pour quitter sans enregistrer.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
Appuyez sur la
ESC
touche lorsque vous avez terminé de modifier le fichier (vous verrez que le mode INSERT disparaît).:wq
pour enregistrer le fichier.Appuyez sur Entrée
nvm ls-remote | tail -n9
Appuyez sur Entrée et installez la dernière version de NVM présentée:
nvm install 12.6.0
Une fois le processus terminé, vous verrez:
Now using node v12.6.0 (npm v6.9.0)
Vous pouvez vérifier si l'installation réussit en appuyant sur:
node -v
ounpm -v
, il devrait vous montrer les versions de nvm et npm installées sur votre système.la source