Question npm install -g yo commande donne -> ERR! yo@1.1.0 postinstall: `scripts / doctor.js`


J'ai juste essayé de faire une installation npm mais je reçois cette erreur sur doctor, js à la fin. Dois-je m'inquiéter à ce sujet?

npm install -g yo

. .

npm http 304 https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/fstream/-/fstream-0.1.25.tgz
/usr/local/bin/yo -> /usr/local/lib/node_modules/yo/cli.js

> yo@1.1.0 postinstall /usr/local/lib/node_modules/yo
> node scripts/doctor.js

npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! yo@1.1.0 postinstall: `node scripts/doctor.js`
npm ERR! `sh "-c" "node scripts/doctor.js"` failed with 1
npm ERR! 
npm ERR! Failed at the yo@1.1.0 postinstall script.
npm ERR! This is most likely a problem with the yo package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/doctor.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls yo
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.11.0-12-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "yo"
npm ERR! cwd /etc/libvirt/qemu
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /etc/libvirt/qemu/npm-debug.log
npm ERR! not ok code 0

MODIFIER____________-

pour une raison quelconque, le noeud -v n'émet rien dans le terminal

J'ai le dernier noeud installé:

WebstormProjects # sudo apt-get node installer Lire les listes de colis ... Fait Arbre de dépendance du bâtiment Lecture des informations d'état ... Terminé node est déjà la version la plus récente. 0 mis à niveau, 0 nouvellement installé, 0 à supprimer et 143 non mis à niveau.


16
2018-01-02 10:39


origine


Réponses:


La solution à ce lien a fonctionné pour moi:

http://plaidzooks.tumblr.com/post/36894116867/using-node-js-on-debian-ubuntu-systems

Ubuntu est fourni avec un paquet qui crée automatiquement un lien, de sorte que la commande 'nodejs' ne peut être appelée en tant que 'noeud' qu'en créant un lien.

sudo apt-get install nodejs-legacy

Et ça a fait travailler Yeoman.


29
2018-03-20 13:38



De même, j'ai eu le même problème (quoique sur un Mac). J'ai désinstallé et mis à jour le noeud vers la dernière version (v0.10.24) mais sans succès.

Le correctif de lien symbolique a fonctionné pour moi, mais avec un léger tweak:

sudo ln -s /usr/local/bin/node /usr/bin/node 


10
2018-01-07 14:24



Je crois que cela peut être dû à la façon dont node a été installé sur votre système. Apparemment, parfois lors de l'installation de Node via un gestionnaire de paquets, le binaire lié est nodejs, (Ainsi nodejs _command_ est la commande qui fonctionne sur votre machine, pas la plus commune node _comamand_. Vous pouvez soit réinstaller Node (la dernière version est maintenant 0.10.24) de nodejs.org, ou essayez cette solution de cette question connexe:

Pour ceux qui souhaitent continuer à utiliser le package de nœud de leur système d'exploitation, la solution simple consiste à déterminer où le nœud est installé sur votre système d'exploitation, puis à créer un lien symbolique.

Par exemple, j'ai eu le problème sur Ubuntu et le répertoire d'installation est / usr / bin. Pour créer le lien symbolique, vous pouvez exécuter:

sudo ln -s / usr / bin / nodejs / usr / bin / node

Dans Windows, vous pouvez utiliser la commande mklink. Veillez à ouvrir l'invite de commande en tant qu'administrateur


7
2018-01-02 13:19



Vous devez installer nodejs de cette manière:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

6
2018-02-25 11:22



J'ai eu la même erreur sur une installation propre d'Ubuntu 13.10 et aucun lien symbolique (node> nodejs) ou installation / désinstallation ne m'a aidé.

Je n'ai pas une compréhension suffisamment approfondie de l'environnement du noeud pour le dépanner correctement, mais j'ai pu installer Yeoman globalement en clonant le dépôt et en supprimant la vérification postinstall de package.json.

Si quelqu'un veut essayer cette solution:

Clone Yeoman ..

cd ~
git clone https://github.com/yeoman/yo

Modifiez le package.json ..

nano yo/package.json

.. pour supprimer ces lignes ..

"scripts": {
    "test": "grunt",
    "postinstall": "node ./scripts/doctor",
    "postupdate": "node ./scripts/doctor"
},

Ensuite, installez-le en utilisant npm ..

cd yo
npm install -g

Si vous voulez nettoyer, vous pouvez supprimer le repo Yeoman.

cd ..
rm -R yo/

De toute évidence, votre kilométrage peut varier, mais cela fonctionne bien pour moi jusqu’à présent.

J'ai aussi remarqué que j'ai réussi à gérer le doctor.js script indépendant du processus d'installation. Aucune idée de la raison pour laquelle il échouait si fort en premier lieu.


3
2018-02-10 01:58



Sur Ubuntu 14.04, j'ai essayé à la fois d'installer le package hérité (selon la réponse d'Antonio) et de créer le lien symbolique manuellement (selon la réponse de Stephen). Ni travaillé. Le paquet Ubuntu a la version 0.10.25 de node.js, mais Yeoman semble avoir besoin d'une version plus récente.

Après installer la dernière version de node.js à partir de NodeSource (actuellement v6.9.1), j'ai pu installer Yeoman en utilisant npm install -g yo .


0
2017-12-06 16:54



Pour résoudre ce problème, vous devez installer le package nodejs-legacy.

sudo apt-get install nodejs-legacy

-1
2018-06-05 19:36