web-dev-qa-db-fra.com

`yo angular` donne une erreur: npm ERR! code ENOENT npm ERR! errno 34 (oui j'ai nettoyé le cache et défini .npmignore)

J'ai essayé d'exécuter yo angular dans un nouveau répertoire de projet, mais cela m'a donné l'erreur ENOENT quelque part en cours de route. Oui, j'ai regardé cette question similaire , mais sa solution ne fonctionne pas pour moi.

J'ai exécuté ces choses sur le nouveau répertoire de projet vide juste avant d'exécuter yo angular:

touch .npmignore
npm cache clear
npm cache clean

Mais je reçois toujours:

npm ERR! Error: ENOENT, lstat '/home/ubuntu/app_c/node_modules/grunt/    internal-tasks/bump.js'
npm ERR! If you need help, you may report this *entire* log, 
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! System Linux 3.2.0-54-virtual
npm ERR! command "/home/ubuntu/local/bin/node" "/home/ubuntu/local/bin/  npm" "install"
npm ERR! cwd /home/ubuntu/app_c
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.3
npm ERR! path /home/ubuntu/app_c/node_modules/grunt/internal-tasks/bump. js
npm ERR! fstream_path /home/ubuntu/app_c/node_modules/grunt/internal-    tasks/bump.js
npm ERR! fstream_type File 
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack /home/ubuntu/local/lib/node_modules/npm/          node_modules/fstream/lib/writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (fs.js:107:15)

Comment puis-je le réparer?


Voici le historique de TOUTES les commandes, dans l'ordre chronologique, que j'ai exécutées sur un tout nouveau serveur Ubuntu 12.04.3, afin que vous puissiez voir exactement ce qui a mené à ce point, et où j'ai installé divers forfaits.

Cette question est liée à un npm problème github .

21
randwa1k

ÉDITER: npm update -g suivi par npm cache clear devrait fonctionner pour la plupart. Cependant, lors de la première installation sur Mac OS, vous devrez peut-être accéder à votre usr/local/lib/node_modules dossier une fois que nodeJS est installé pour la première fois et accordez l'autorisation de lecture/écriture à "Tout le monde". Node ne pourra pas installer de composants de workflow supplémentaires globalement tant que ces autorisations ne seront pas libérées. Vous ne voulez pas lancer Sudo les commandes d'installation de npm, car alors ces outils n'auront pas accès à Sudo pour Les autorisations de lecture/écriture sont modifiées en cliquant avec le bouton droit sur le dossier et en allant dans "Obtenir des informations", puis en modifiant les autorisations en bas de la fenêtre contextuelle.

J'ai eu ce même problème sur la machine Windows 7. Voici les étapes que j'ai prises pour résoudre:

  • réparer Node installation
  • cli élevé ouvert
  • courir npm update -g
  • courir npm cache clear
  • courir npm install -g yo
  • courir npm cache clear
  • courir npm install -g generator-angular
  • courir npm cache clear
  • créé un nouveau répertoire
  • courir yo angular test
  • courir npm cache clear
  • courir grunt serve

J'ai rencontré quelques autres problèmes avec karma.conf.js où les chemins avaient un \ au lieu de / pour bower_components. De plus, j'ai remarqué que les modules optionnels angular ont été injectés dans mon app.js bien qu'ils ne les aient pas tous inclus dans ma version yo de la cli. J'ai signalé ces problèmes sur github.

27
JamesRLamar

npm ERR! commande "/ home/ubuntu/local/bin/node"

Installez-vous dans un répertoire utilisateur? J'ai fait et j'ai eu des erreurs ENOENT aussi.

J'ai dû mkdir certains répertoires. S'ils ne sont pas là, essayez de créer certains répertoires dans le debug.log, comme lib/node_modules.

2
Kin

Mettez à jour le nœud (et npm) vers la dernière version, et cela devrait résoudre le problème.

1
Nikola M.

Ces erreurs ENOENT (et parfois EACCES) sont souvent causées par d'anciennes versions de npm. Malheureusement, même la dernière version de node ne distribue pas la version actuelle de npm.

Après avoir installé node, exécutez npm -v. Si vous ne voyez pas 2.1.18 Ou une version ultérieure, vous devez mettre à niveau en suivant les instructions officielles ici https://github.com/npm/npm/wiki/Troubleshooting#try-the-latest-stable -version-of-npm

Sous OSX, la mise à niveau rapide est Sudo npm install -g npm@latest

Sous Windows, suivez le guide du wiki ou lisez cette réponse Comment mettre à jour npm sous Windows?

cmd.exe cd C:\Program Files (x86)\nodejs npm install npm@latest

1
Sam Mikes

Mon problème était un cassé package.json. Peut-être que cela aidera quelqu'un.

0
Daniele Vrut