web-dev-qa-db-fra.com

Commande introuvable après l'installation de npm dans zsh

J'ai des problèmes pour installer vows via npm dans zsh. Voici ce que je reçois. J'ai essayé de l'installer avec et sans l'option -g. Avez-vous une idée de ce qui ne va pas ici?

[❤  ~/Desktop/sauce-node-demo:master] npm install -g vows
npm http GET https://registry.npmjs.org/vows
npm http 304 https://registry.npmjs.org/vows
npm http GET https://registry.npmjs.org/eyes
npm http GET https://registry.npmjs.org/diff
npm http 304 https://registry.npmjs.org/eyes
npm http 304 https://registry.npmjs.org/diff
/usr/local/share/npm/bin/vows -> /usr/local/share/npm/lib/node_modules/vows/bin/vows
[email protected] /usr/local/share/npm/lib/node_modules/vows
├── [email protected]
└── [email protected]
[❤  ~/Desktop/sauce-node-demo:master] vows
zsh: command not found: vows

Merci

23
optikfluffel

Si vous avez installé Node.js à l'aide de Homebrew, les fichiers binaires npm se trouvent dans /usr/local/share/npm/bin. Vous devez vous assurer que ce répertoire est dans votre variable d'environnement PATH. Donc, dans votre fichier ~/.zshrc, ajoutez export PATH=/usr/local/share/npm/bin:$PATH.

34
Andrew Ferk

ajouter source /home/YOUUSERNAME/.bash_profile au début de ~/.zshrc

Et toutes les commandes manquantes seront détectées. 

Pour Mac utilisateurs: ajoutez source /Users/YOUUSERNAME/.bash_profile

56
Abdennour TOUMI

Pour Mac utilisateurs:

Aux côtés de ce qui suit: Nvm, iterm2, zsh

J'ai trouvé que le .bashrc plutôt que le .profile ou le .bash_profile causait beaucoup moins de problèmes. 

Simplement en ajoutant ce dernier à mon fichier .zshrc:

source $HOME/.bashrc
3
Tim.G

pour les utilisateurs de macOS: envisagez d'utiliser .profileau lieu de de .bash_profile. Vous devrez peut-être encore l'ajouter manuellement à ~/.zshrc:

source $HOME/.profile

Notez qu'il n'y a pas de tel fichier par défaut! Citant slhck https://superuser.com/a/473103 :

Quoi qu'il en soit, vous pouvez simplement créer le fichier s'il n'existe pas et l'ouvrir dans un éditeur de texte.

touch ~/.profile
open -e !$

La valeur ajoutée est qu’il est bon d’utiliser un seul fichier pour configurer l’environnement, quel que soit le shell utilisé. Charger un fichier de configuration bash dans zsh me semblait gênant.

Citer une réponse acceptée par Cos https://stackoverflow.com/a/415444/2445063

.profile est simplement le nom de fichier du script de connexion utilisé à l'origine par /bin/sh. bash, étant généralement rétrocompatible avec /bin/sh, lira .profile s'il en existe un

Suivant les recherches de Filip Ekberg/avis https://stackoverflow.com/a/415410/2445063

.profile est l'équivalent de .bash_profile pour la racine. Je pense que le nom est changé pour permettre à d’autres shells (csh, sh, tcsh) de l’utiliser également. (vous n'en avez pas besoin en tant qu'utilisateur)

revenons à slhck, une note d’attention concernant bash:

(…) Une fois que vous avez créé un fichier appelé ~/.bash_profile, votre ~/.profile ne sera plus lu.

1
wiherek

Une autre chose à essayer et la réponse pour moi était de décommenter la première export dans ~/.zshrc

# If you come from bash you might have to change your $PATH. export PATH=$HOME/bin:/usr/local/bin:$PATH

1
Mikeumus

Sur Ubuntu , après avoir installé ZSH, et surtout sur le terminal bash installé Node ou d’autres packages,

Première ouverture:

nano .zshrc

Et décommentez la deuxième ligne:

export PATH=$HOME/bin:/usr/local/bin:$PATH

Cela fonctionne pour moi, et sans écrire de ligne, et je pense que cette option est disponible sur Mac aussi.

0
Jesus Romero

À mon humble avis, tout d’abord, vous devez vous assurer que toute version de Node est installée. Pour ce type:

nvm ls

Et si vous n'obtenez aucune version, cela signifie que j'avais raison :) Ensuite, vous devez taper:

nvm install <node_version**>

** la version actuelle que vous pouvez trouver dans Site Web du nœud

Ensuite, vous aurez Node et vous pourrez utiliser les commandes npm

0
daxtersky