web-dev-qa-db-fra.com

Node Installation de Version Manager - commande nvm 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 je reçois 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 dans d'autres publications et forums. J'ai trouvé une autre solution en utilisant

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

mais ça passe à chaque fois que j'essaye. Toute aide serait appréciée. Merci.

228
jordan

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

Vous devriez avoir ce qui suit à 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 est identique à source $HOME/.nvm/nvm.sh

Voir: recherche 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 pu exécuter la commande git. Cela pourrait être dû à être derrière un proxy. Essayez d’exécuter ce qui suit à la place.

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

Je pense que vous avez raté cette étape:

source ~/.nvm/nvm.sh

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

https://github.com/creationix/nvm

487
Deepak Lamichhane

Cela fonctionne pour moi:

  1. Avant d'installer nvm, lancez-le dans le 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émarrez votre terminal OU utilisez la commande source ~/.nvm/nvm.sh (cela actualisera les commandes disponibles dans votre chemin système).

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

50
Alireza

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

40
user2015258

Réponse rapide

Déterminez ce qui suit:

  1. Quel shell utilise votre terminal, entrez: echo $0 pour le savoir (fonctionne normalement)
  2. Quel fichier de démarrage le shell charge-t-il lors du démarrage (NOT ) login fichier de démarrage du shell , le shell normal fichier de départ , il y a une différence!)
  3. Ajoutez source ~/.nvm/nvm.sh à ce fichier (en supposant que ce 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 constater, il est indiqué zsh et non bashenter image description here

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

Pourquoi cela arrive-t-il

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

En d'autres termes: il s'agit d'une erreur NVM.

Plus sur zsh peut être lu sur une des réponses ici .

31
Karl Morrison

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 afin que nvm soit automatiquement identifié lors de la connexion.

20
hd84335

Commencez par ajouter les lignes suivantes dans le fichier ~/.bashrc

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

puis ouvrez terminal et sourcez le script nvm.sh

source ~/.nvm/nvm.sh
8
KARTHIKEYAN.A

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, j'aimerais expliquer quelques étapes qui les aideront à travailler avec la nouvelle installation de Node Version Manager a.k.a. nvm.

Installation et utilisation de nvm sur Mac OS X

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

  • Installez homebrew à partir de ici .
  • Utilisation de homebrew install nvm

    brew update brew install nvm

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

    mkdir ~/.nvm

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

    nano ~/.bash_profile

  • Collez le code ci-dessous dans le .bash_profile et appuyez sur CTRL + O, puis 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écutez la commande ci-dessous pour charger les paramètres .bash_profile:

    source ~/.bash_profile

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

5
S.Mishra

Pas directement lié à la question, mais il y a un problème similaire qui peut arriver, 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 exécutez à partir d'une nouvelle instance de bash et que vous avez le code d'initialisation à 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, l'exécution sera interrompue si bash n'est pas exécuté avec l'indicateur "-i" (interactif). Donc, vous devez exécuter:

bash -i

De plus, à 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 $ PS1 (comme sur une session ssh distante).

Si vous ne souhaitez pas ajouter d’env vars ni d’indicateurs, vous devez supprimer ces conditions de votre fichier d’initialisation.

J'espère que c'est utile.

5
Alan Sikora

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 source ~/.bashrc ou 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.

4
vantony

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

Refaites l'installation et vous verrez cette fois une ligne pertinente dans la sortie.

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

Rechargez votre profil (ou fermez/ouvrez de nouveau la fenêtre du terminal).

.  ~/.bash_profile
4

J'ai résolu ce problème.

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

Pour le problème a été résolu lorsque je me suis déplacé

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

jusqu'à la fin de .zshrc

2
almeynman

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

La commande nvm de votre shell de connexion ne se propage pas aux sous-shells (comme les fenêtres de console et les terminaux IDE après votre connexion). Cet extrait de code 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

Mettre ceci dans votre fichier $HOME/.bashrc résoudra le problème de nvm manquant dans les shells bash interactifs, même à partir d'un GUI, et même si nvm est installé dans un emplacement non standard.

2
Warren MacEvoy

Sur Debian, ainsi que d’ajouter les lignes ci-dessous à mon fichier .bash_profile comme l’a dit l’une des réponses ci-dessus. Je devais également 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 que cela fonctionne.

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

Edit: Pour les utilisateurs de Mac, sachez que macOS ne lit pas le fichier .bashrc au démarrage de Terminal. Il est donc préférable d’utiliser le fichier .bash_profile. Voir ici.

1
tomhughes

Pour mon cas, c'est parce que j'utilise poisson. si je ne commence pas poisson, il suffit de taper nvm ne sera plus une erreur maintenant.

1
JerryZhou

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. Relancez donc le terminal pour qu'il soit chargé à nouveau et que vous soyez prêt à partir.

0
priyankvex

Récemment, j'ai également rencontré le même problème et la recherche du script nvm bash à l'aide de la source ~/.nvm/nvm.sh a résolu ce problème.

0
Vishnu Dubey

Utilisez les codes suivants

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash`
source ~/.nvm/nvm.sh`
nvm install 0.8
0
Vivekanand Panda

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

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

Alors, 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, a été extraite ultérieurement du programme d'installation nvm-setup.exe et est installée aux emplacements suivants:

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

et pendant ce temps, setup gèrera la variable d'environnement à Path comme indiqué ci-dessus pour vous.

Maintenant exécutez Git Bash en tant qu'administrateur puis.

$ 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 simplement montré ici pour le déterminer en tant que ligne de commande et nous allons maintenant vérifier la version de nvm.

$ nvm --version
Running version 1.1.5.

Usage:
-----------------------

si vous avez des problèmes pour utiliser nvm pour installer node, vous pouvez voir la liste des versions disponibles de nodejs ici https://nodejs.org/download/release/ et choisir le programme d'installation approprié, selon votre version des exigences, égale ou supérieure. que v6.3.0 directement.

0
ArifMustafa

Après avoir essayé plusieurs étapes, je ne savais pas quel était le problème dans mon cas, mais cela fonctionnait:

touch ~/.bash_profile
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash

Vérifié par nvm --version

nvm -v output

0
student