Commande introuvable après npm install dans zsh
je vais avoir quelques problèmes avec l'installation vœux via le mécanisme national de prévention de zsh. Voici ce que j'obtiens. J'ai essayé de l'installer avec et sans l'option-g. Avez-vous une idée de quel est le problème 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
vows@0.6.4 /usr/local/share/npm/lib/node_modules/vows
├── eyes@0.1.8
└── diff@1.0.3
[❤ ~/Desktop/sauce-node-demo:master] vows
zsh: command not found: vows
Merci
5 réponses
si vous avez installé Node.js utilisant Homebrew, mnp binaires peut être trouvé 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
.
ajouter source /home/YOUUSERNAME/.bash_profile
au début de ~/.zshrc
Et toutes les commandes manquantes seront détectés.
pour Mac utilisateurs: ajouter source /Users/YOUUSERNAME/.bash_profile
pour macOS utilisateurs: envisager d'utiliser .profile
à la place de .bash_profile
. Vous pouvez encore avoir besoin de l'ajouter manuellement à ~/.zshrc
:
source $HOME/.profile
Notez qu'il n'existe pas de fichier par défaut! citant slhck https://superuser.com/a/473103 :
de toute façon, 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 se sent bien Homme d'utiliser un seul fichier pour configurer l'environnement, indépendamment du shell utilisé. Charger un fichier de configuration de bash en zsh était maladroit.
citant une réponse acceptée par le commandant https://stackoverflow.com/a/415444/2445063
.profile
est simplement le nom du fichier de script de connexion utilisé à l'origine par/bin/sh
. bash, étant généralement rétro-compatible avec/bin/sh
, se lira.profile
si un existe
suite à la recherche / opinion de Filip Ekberg https://stackoverflow.com/a/415410/2445063
.profile
est l'équivalent de.bash_profile
pour la racine. Je pense que le nom est changé pour laisser à d'autres coquillages (csh, sh, tcsh) l'utiliser ainsi. (vous n'en avez pas besoin en tant qu'utilisateur)
pour revenir à slhck, une note d'attention concernant bash :
( ... ) une fois que vous aurez créé un fichier appelé
~/.bash_profile
, votre~/.profile
ne sera plus lu.
une autre chose à essayer et la réponse pour moi était de décommenter le premier export
dans ~/.zshrc
# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH
je pense que le problème est plus sur L'achèvement ZSH.
Vous devez ajouter cette ligne dans votre .zshrc:
zstyle ':completion:*' rehash true
si vous avez Oh-my-zsh, un PR a été fait, vous pouvez l'intégrer jusqu'à ce qu'il soit tiré: https://github.com/robbyrussell/oh-my-zsh/issues/3440