Node Version Manager install – La commande nvm est introuvable

J’essaie d’installer NVM selon ces instructions

J’ai tapé cette commande dans le terminal:

$ curl https://raw.github.com/creationix/nvm/master/install.sh | sh 

Après avoir exécuté l’installation, je redémarre le terminal et tente d’installer Node.js avec cette commande:

 $ nvm install 0.8 

mais j’ai la réponse:

 -bash: nvm: command not found 

Je ne suis pas sûr de ce que je fais mal ici.

Information additionnelle–

J’ai cherché des solutions à partir d’autres publications et forums. J’ai trouvé une autre solution en utilisant

 $ git clone git://github.com/creationix/nvm.git ~/.nvm 

mais cette fois chaque fois que je tente cela. Toute aide serait appréciée. Merci.

Vérifiez votre fichier .bash_profile ou .profile . Vous avez probablement eu un problème lors de l’installation.

Vous devriez avoir les éléments suivants à la fin de l’un de ces fichiers.

 [[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh # This loads NVM 

Le . $HOME/.nvm/nvm.sh . $HOME/.nvm/nvm.sh est identique à la source $HOME/.nvm/nvm.sh

Voir: Sourcing d’un fichier

Vous pouvez également vérifier si vous avez un dossier .nvm .

 ls -a | grep .nvm 

Si vous manquez ce dossier, l’installation n’a pas réussi à exécuter la commande git. Cela pourrait être dû à être derrière un proxy. Essayez plutôt d’exécuter ce qui suit.

 git clone http://github.com/creationix/nvm.git .nvm 

Je pense que vous avez manqué cette étape:

 source ~/.nvm/nvm.sh 

Vous pouvez exécuter cette commande sur bash OU vous pouvez la placer dans le fichier /.bashrc ou ~ / .profile pour la charger automatiquement

https://github.com/creationix/nvm

source ~/.nvm/nvm.sh Ajoutez cette ligne à ~ / .bashrc, ~ / .profile ou ~ / .zshrc

Dans macOS, je devais le source en utilisant la commande source ~/.nvm/nvm.sh pour résoudre ce problème.

Après cela, ajoutez ces lignes

 export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm 

sur ~/.bash_profile pour que nvm soit automatiquement généré lors de la connexion.

Cela fonctionne pour moi:

  1. Avant d’installer nvm , lancez ce terminal: touch ~/.bash_profile

  2. Après, lancez ceci dans le terminal:
    curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash

  3. Important … – N’oubliez pas de redémarrer votre terminal OU utilisez la source ~/.nvm/nvm.sh commande source ~/.nvm/nvm.sh (ceci actualisera les commandes disponibles dans votre chemin système).

  4. Dans le terminal, utilisez la commande nvm --version et vous devriez voir la version

Réponse rapide

Découvrez ce qui suit:

  1. Quel shell utilise votre terminal, tapez: echo $0 pour le savoir (fonctionne normalement)
  2. Quel fichier de démarrage ce shell charge-t-il lors du démarrage (NE PAS connecter le fichier de démarrage du shell, le fichier de démarrage du shell normal, il y a une différence!)
  3. Ajoutez la source ~/.nvm/nvm.sh à ce fichier (en supposant que le fichier existe à cet emplacement, il s’agit de l’emplacement d’installation par défaut)
  4. Démarrer une nouvelle session de terminal
  5. Profit?

Exemple

Comme vous pouvez le voir, il indique zsh et non bash . entrer la description de l'image ici

Pour résoudre ce problème, je devais append la source ~/.nvm/nvm.sh au fichier ~/.zshrc , car lors du démarrage d’un nouveau terminal, mon terminal Deepin zsh lit ~/.zshrc et non bashs ~/.bashrc .

Pourquoi cela arrive-t-il

Cela se produit parce que lors de l’installation de NVM, il ajoute du code à ~/.bashrc , car mon terminal Deepin Terminal utilise zsh et non bash il ne lit jamais ~/.bashrc et ne charge jamais la NVM.

En d’autres termes, c’est la faute de NVM.

Plus d’informations sur zsh peuvent être lues sur l’une des réponses ici .

Pas directement connecté à la question, mais il y a un problème similaire qui peut survenir, jetez un oeil à cette question: Impossible d’exécuter nvm à partir de new bash


Voici ma réponse sur ce post, juste pour la référence:

Si vous utilisez une nouvelle instance bash et que vous avez le code d’initialisation dans votre ~ / .bashrc, ~ / .bash_profile, etc., vous devez vérifier ce fichier d’initialisation pour les conditions.

Sur Ubuntu 14, il y a un:

 case $- in *i*) ;; *) return;; esac 

A la ligne 6, cela arrêtera son exécution si bash n’est pas exécuté avec l’indicateur “-i” (interactif). Donc, vous devez exécuter:

 bash -i 

En outre, à la fin du fichier, il y a un

 [ -z "$PS1" ] && return 

Cela arrêtera son exécution si elle n’est pas exécutée avec l’ensemble $ PS1 (comme sur une session ssh distante).

Si vous ne souhaitez pas append d’environnement ou de drapeau, vous devrez supprimer ces conditions de votre fichier d’initialisation.

J’espère que c’est utile.

Si vous utilisez OS X, vous devrez peut-être créer votre fichier .bash_profile avant d’exécuter la commande d’installation. Cela l’a fait pour moi.

Créer le fichier de profil

 touch ~/.bash_profile 

Ré-exécuter l’installation et vous verrez une ligne pertinente dans la sortie cette fois.

=> Ajout de la chaîne source à /Users/{username}/.bash_profile

Rechargez votre profil (ou fermez / rouvrez la fenêtre Terminal).

 . ~/.bash_profile 

Ajoutez les lignes suivantes aux fichiers ~/.bashrc et ~/.bash_profile :

 # NVM changes export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" 

et redémarrez le terminal ou faites la source ~/.bashrc ou la source ~/.bash_profile . Si vous avez besoin de terminer la commande pour nvm, ajoutez également la ligne:

 [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" 

Avec les lignes ci-dessus à ~/.bashrc et ~/.bash_profile .

J’avais résolu ce problème.

  1. touchez ~ / .bash_profile
  2. ouvrir ~ / .bash_profile
  3. coller 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 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

Le script d’installation nvm ajoute par défaut le code d’initialisation à votre fichier $HOME/.profile , qui n’est chargé que par un shell de connexion (dans un environnement de bureau, vous ne pouvez jamais voir un shell de connexion).

La commande nvm dans votre shell de connexion n’est pas propagée aux sous-shells (comme les fenêtres de console et les terminaux IDE après vous être connecté). Cet extrait dans votre $HOME/.bashrc ne chargera nvm que s’il s’agit d’un shell interactif et qu’il n’a pas déjà été chargé

 # if nvm dir is not set and the standard nvm directory exists if [ -z "$NVM_DIR" -a -d "$HOME/.nvm" ] ; then # set nvm dir export NVM_DIR="$HOME/.nvm" fi # if nvm dir is set and this shell is interactive if [ -d "$NVM_DIR" -a -n "$PS1" ] ; then # if nvm command is not defined if ! type -t nvm >/dev/null ; then # set it source "$NVM_DIR/nvm.sh" fi fi 

Le placer dans votre fichier $HOME/.bashrc corrige le problème nvm manquant dans les shells interactifs de bash, même à partir d’une interface graphique, et même si nvm est installé dans un emplacement non standard.

Sur Debian, ainsi que d’append les lignes ci-dessous à mon .bash_profile comme l’une des réponses ci-dessus. J’ai également dû ouvrir les préférences de mon terminal (Edition -> Préférences de profil -> Commande) et activer ‘Exécuter la commande en tant que shell de connexion’ pour le faire fonctionner.

 export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm 

Edit: Pour ceux sur Mac, sachez que macOS ne lit pas .bashrc au démarrage du terminal, il est donc préférable d’utiliser .bash_profile. Vois ici.

Pour mon cas, c’est parce que j’utilise du poisson . si je ne commence pas le poisson , tapez simplement nvm, aucune erreur maintenant.

Toutes les réponses à ces questions sont utiles. Surtout la réponse donnée par Travis m’a aidé. Pour les utilisateurs de Mac OS X, je souhaiterais proposer quelques étapes qui les aideront à utiliser la nouvelle installation de Node Version Manager, alias nvm.

Installer et utiliser NVM sur Mac OS X

Voici les étapes à suivre pour une nouvelle installation de nvm et son utilisation sans problème:

  • Installez homebrew à partir d’ ici .
  • Utiliser homebrew install nvm

    brew update brew install nvm

  • Créez le répertoire ~/.nvm emplacement ~/.nvm .

    mkdir ~/.nvm

  • Maintenant, si vous n’avez pas de fichier de configuration .bash_profile pour le terminal OS X, veuillez créer un .bash_profile au niveau de la racine:

    nano ~/.bash_profile

  • Collez ci-dessous le code dans le .bash_profile et appuyez sur CTRL + O et appuyez sur Entrée pour enregistrer le fichier .bash_profile . Appuyez sur CTRL + X pour quitter l’éditeur:

    export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh

  • Maintenant, soit tout à fait ( CMD + Q ) le terminal ou exécuter la commande ci-dessous pour charger les parameters .bash_profile :

    source ~/.bash_profile

  • Exécutez nvm ls commande nvm ls pour obtenir la liste de toutes les versions de nodejs installées.

Pour le problème a été résolu lorsque j’ai déménagé

 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 

à la fin de .zshrc

Pour moi cela a fonctionné. Vérifiez d’abord que le fichier .bashrc a la ligne suivante

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Maintenant, bashrc est chargé pour chaque session de terminal. Redémarrez ainsi le terminal pour qu’il soit chargé à nouveau et vous devriez être prêt à partir.

Dans Windows 8.1 x64 même chose s’est produite avec moi et a reçu le message suivant.

nvm install 8.3.0 bash: nvm: commande non trouvée windows

Donc, suivez ou vérifiez ci-dessous les étapes suivantes

installez d’abord coreybutler/nvm-windows partir de github.com . La dernière version 1.1.5 actuellement disponible, nvm-setup.zip , extrait plus tard le nvm-setup.exe installation nvm-setup.exe et installe les emplacements suivants:

 NVM_HOME : C:\Users\Administrator\nvm NVM_SYMLINK : C:\Program Files\nodejs 

et entre-temps, la configuration gérera la variable d’environnement sur Path comme indiqué ci-dessus.

Maintenant, lancez Git Bash tant qu’administrateur et ensuite.

 $ nvm install 8.3.0 all Downloading node.js version 8.3.0 (64-bit)... Complete Creating C:\Users\Administrator\nvm\temp Downloading npm version 5.3.0... Complete Installing npm v5.3.0... Installation complete. If you want to use this version, type nvm use 8.3.0 $ nvm use 8.3.0 Now using node v8.3.0 (64-bit) 

ici exécutez votre commande sans utiliser le préfixe $ , il est juste montré ici pour le déterminer comme une ligne de commande et maintenant nous allons vérifier la version de NVM.

 $ nvm --version Running version 1.1.5. Usage: ----------------------- 

Si vous rencontrez des problèmes lors de l’utilisation de nvm pour installer le node , vous pouvez voir cette liste des versions de nodejs disponibles ici https://nodejs.org/download/release/ et choisir le programme d’installation correspondant à votre version d’exigence égale ou supérieure à v6.3.0 directement. .

J’ai également rencontré le même problème récemment et la recherche du script nvm bash en utilisant la source ~ / .nvm / nvm.sh a résolu ce problème.