I'm using npm install -g yo gulp to install yeoman and this is the error I'm getting
npm WARN deprecated [email protected]: cross-spawn no longer requires a build toolchain, use it instead
C:\Usr\local\gulp -> C:\Usr\local\node_modules\gulp\bin\gulp.js
C:\Usr\local\yo -> C:\Usr\local\node_modules\yo\lib\cli.js
C:\Usr\local\yo-complete -> C:\Usr\local\node_modules\yo\lib\completion\index.js
> [email protected] postinstall C:\Usr\local\node_modules\yo
> yodoctor
Yeoman Doctor
Running sanity checks on your system
√ No .bowerrc file in home directory
√ Global configuration file is valid
√ NODE_PATH matches the npm root
√ No .yo-rc.json file in home directory
√ Node.js version
{ Error: Couldn't find the 'yo' binary. Make sure it's installed and in your $PATH
at notFoundError (C:\Usr\local\node_modules\yo\node_modules\cross-spawn-async\lib\enoent.js:8:11)
at verifyENOENT (C:\Usr\local\node_modules\yo\node_modules\cross-spawn-async\lib\enoent.js:43:16)
at ChildProcess.cp.emit (C:\Usr\local\node_modules\yo\node_modules\cross-spawn-async\lib\enoent.js:30:19)
at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
errno: 'ENOENT',
code: 'ENOENT',
syscall: 'spawn yo',
cmd: 'C:\\WINDOWS\\system32\\cmd.exe /s /c "yo "--version""' }
× yo version
{ Error: Couldn't find the 'yo' binary. Make sure it's installed and in your $PATH
at notFoundError (C:\Usr\local\node_modules\yo\node_modules\cross-spawn-async\lib\enoent.js:8:11)
at verifyENOENT (C:\Usr\local\node_modules\yo\node_modules\cross-spawn-async\lib\enoent.js:43:16)
at ChildProcess.cp.emit (C:\Usr\local\node_modules\yo\node_modules\cross-spawn-async\lib\enoent.js:30:19)
at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
errno: 'ENOENT',
code: 'ENOENT',
syscall: 'spawn yo',
cmd: 'C:\\WINDOWS\\system32\\cmd.exe /s /c "yo "--version""' }
√ npm version
Found potential issues on your machine :(
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\gulp\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","Arch":"any"} (current: {"os":"win32","Arch":"x64"})
+ [email protected]
+ [email protected]
updated 2 packages in 23.31s
Comme Xander Cage a dit.
Ça marche.
Exécutez la commande suivante pour voir où NPM met les packages globaux
npm config get prefix
Vous obtiendrez une sortie similaire à celle-ci
/usr/local/Cellar/node/10.5.0_1
Copiez la sortie ou la trajectoire, puis à l'aide de n'importe quel éditeur de code Ouvrez votre fichier .BASHRC ou .zshrc en fonction du terminal que vous utilisez et de la pâte.
export PATH="$PATH:"/usr/local/Cellar/node/10.5.0_1/bin/""
Puis après avoir sauvegardé
source ~/.zshrc
Ce qui précède n'a pas fonctionné pour moi du tout.
Ce qui suit a résolu mon problème: Nettoyez les nœuds installées et suivi des étapes par DV-ICI dans le fil: https://github.com/zkat/npx/issues/1 Notez que mon NPM a été signalé sur C:\usr ...
Je pense que je fixe le npm config set prefix=
à quelque chose de fait par erreur en raison de laquelle j'étais> obtenir l'erreur. Voici comment je l'ai réparé:
Ouvrez la cmd en mode "Administrateur".
npm cache clear --force
npm install
npm config set cache C:\Users\myname\AppData\Roaming\npm-cache
npm config set prefix C:\Users\myname\AppData\Roaming\npm
J'ai eu le même problème et je ne voulais vraiment pas désinstaller Nodejs car j'ai beaucoup d'emballage installé. Essayé aussi avec la deuxième réponse et n'a pas fonctionné.
Ensuite, j'ai trouvé cela coché, c'est fermé:
https://github.com/yeoman/yeoman/issues/1716
installer avec la commande de fil pour moi travaillé.
yarn global add yo
Semble alors l'installation passée avec également binaire installée.
NotMind Essayez de l'installer avec NPM obtenir la même erreur, alors cherchez-vous à fournir plus d'infos
Je viens de courir dans cette question sur MacOS et j'ai vu que tous mes fichiers binaires mondiaux de NPM étaient liés au répertoire /usr/local/bin
, À l'exception de yo
. J'ai créé un lien symbolique à l'aide de cette commande:
ln -s /usr/local/Cellar/node/12.10.0/bin/yo /usr/local/bin/yo
(Le vôtre peut varier)
Et yo
est maintenant appelable.