Comment réparer “yo: commande introuvable” après l'installation de Yeoman
Suivant ces instructions, j'ai essayé d'installer yeoman à l'aide de mnp à deux reprises:
http://yeoman.io/learning/index.html
Après le premier échec, j'ai désinstallé le nœud à l'aide de ces instructions:
Comment puis-je désinstaller complètement Node.js et réinstaller à partir de début (Mac OS X) Puis, j'ai installé nvm et node/mnp (via nvm) avec une erreur:
[Yeoman Doctor] Uh oh, I found potential errors on your machine
---------------
[Error] NPM root value is not in your NODE_PATH
[info]
NODE_PATH = /Users/joanna/.nvm/v0.10.22/lib/node_modules:.
NPM root = /Users/joanna/.node/lib/node_modules
[Fix] Append the NPM root value to your NODE_PATH variable
Add this line to your .bashrc
export NODE_PATH=$NODE_PATH:/Users/joanna/.node/lib/node_modules
Or run this command
echo "export NODE_PATH=$NODE_PATH:/Users/joanna/.node/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
J'ai collé à la commande, puis j'ai couru npm install -g yo
de nouveau.
Après en suivant les instructions du yeoman site de nouveau, il ne peut toujours pas trouver yeoman. Je reçois cette erreur:
-bash: yo: command not found
Quel est le problème? Le Yeoman Médecin a dit: "Tout semble bien!"
- L'erreur suggère que le mécanisme national de prévention CHEMIN et le CHEMIN d'accès du NŒUD doit être le smae
Vous devez vous connecter pour publier un commentaire.
La source du problème, c'est que vous avez NODE_PATH ensemble tout en utilisant NVM en même temps. Lorsque vous utilisez NVM vous ne devriez pas avoir un NODE_PATH variable à tous, depuis NVM installe mondial de paquets dans sa version spécifique de la racine.
Supprimer tous les paquets qui sont dans votre NODE_PATH, supprimer la variable d'environnement, et d'installer yo et les générateurs ou tout autres paquets dont vous avez besoin. Vous verrez qu'il arrête de se plaindre et de tout ce qui se termine dans la nvm sous-répertoire correspondant à la version actuelle.
Lorsque vous commencez à utiliser un Nœud différent de la version en NVM, réinstallez le mondial de paquets. Cela permet de garder tout organisé soigneusement par version comme sa destinée.
Plus d'infos sur cette discussion ici:
https://github.com/creationix/nvm/pull/97
Tout ce que j'avais à faire était de ajoutant cette ligne à
.bash_profile
Vous pouvez exécuter ce pour l'ajouter automatiquement:
Testé sur OS X 10.9, 10.10, 10.11 et Ubuntu 14.04
export PATH=${PATH}:~/.node/bin
et n'oubliez pas de redémarrer l'invite pour le changement pour passer à l'action.Version courte:
Dans votre interpréteur de commandes, tapez les commandes suivantes:
npm config set prefix ~/npm
echo "export NODE_PATH=$NODE_PATH:/home/$USER/npm/lib/node_modules" >> ~/.bashrc && source ~/.bashrc
Puis réinstaller Yeoman:
npm install -g yo
Ensuite, tout devrait fonctionner à merveille!
Explication:
Avait une condition similaire, à l'exception de yo commande n'a de travail, mais toute installation de générateurs n'apparaît pas après l'installation d'entre eux, cela a résolu le problème.
Le problème, c'est que votre mnp chemin d'accès est /usr/local, qui est un répertoire qui nécessite root/sudo privilèges, depuis yo est une commande de l'utilisateur, il ne devrait pas être exécuté en tant que superutilisateur, et si vous essayez d'exécuter
sudo yo
, Yeoman vous dira explicitement.J'ai aussi essayé de
chown -R $USER:$USER /usr/local
, etchmod -R /user/local +rw
, mais aucun de ceux qui ont aidé.Gardez à l'esprit que le nœud de modules(yo les générateurs sont également noeud modules) qui ont été précédemment installé dans /usr/local peuvent ne plus être disponibles, et aura besoin d'un re-installation.
$NODE_PATH
etnpm config get prefix
sont à la fois/Users/joanna/.node/lib/node_modules
). J'ai essayé de réinstaller Yeoman, et je reçois toujoursyo: command not found
. Des idées?Pour moi sur Ubuntu seulement la suite travaillé pour moi...
Ubuntu
Testé sur Ubuntu 14.04.2
C'était une installation de base d'Ubuntu 14.04.2 sur VirtualBox ubuntu-fidèle-64.
J'avais juste installé nœud et npm frais et ils fonctionnent bien.
oui j'ai dû installer yeoman, résoudre les problèmes de chemin d'accès, puis réinstallez yeoman.
Les explications sont au-dessus de Oleg Tikhonov et bfred.il
Après avoir essayé la suggestion ci-dessus, j'ai remarqué que yeoman a été installé, comme prévu, dans
/Users/joanna/.node/bin/yo
. J'ai mis en place des liens symboliques pour yo, grunt et bower dans/usr/local/bin
avecTout fonctionne maintenant, mais je suis préoccupé par le fait que les liens pourraient causer des problèmes à l'avenir. Est-il une meilleure solution?
Juste à ajouter,je suis sous mac OS X, 10.11.1, le code comme indiqué par steve fonctionne pour moi aussi.
J'ai utilisé :
$HOME/npm/bin
Et c'est assez travaillé !
Dans MAC OSX
Vérifier où votre
npm
est installé:L'exécution de la commande ci-dessus va lister le répertoire où
npm
est, comme suit:Copier le chemin d'accès jusqu'à
bin
dossier et de l'exportation de la même comme unPATH
variable, comme ci-dessous:Dans mon cas, j'ai eu à exécuter :
puis définissez un nvm version
et il fonctionne