6 votes

Existe-t-il une solution pour l'erreur npm install dans Laravel Homestead ?

  • Windows 10,
  • Homestead
  • VirtualBox 6.0.8,
  • Vagrant 2.2.5,
  • nœud v12.5.0,
  • npm v6.10.1

Tout ce que j'essaie de faire, c'est de lancer la commande npm install dans une application Laravel fraîchement installée, mais je continue à obtenir des erreurs.

Après avoir googlé pendant deux jours et essayé tout ce que j'ai trouvé comme solution possible pour l'erreur d'installation de npm, j'ai décidé d'essayer une fois de plus de tout réinstaller dans l'espoir que cela résoudrait mon problème avec l'installation de npm mais malheureusement cela n'a pas aidé non plus.

J'ai essayé de supprimer node_modules,
nettoyage du cache de npm,
sudo npm install,
sudo npm install --no-bin-links,
Je mets à jour node et npm mais les deux étaient déjà à la dernière version,
Je modifie VagrantFile en me basant sur certains messages que j'ai vus sur Internet (mais cela n'a jamais fonctionné car j'obtenais alors une erreur lorsque j'utilisais vagrant up),
en réinstallant tout,
en exécutant bash en tant qu'administrateur,

Je ne peux même pas me souvenir de tout ce que j'ai fait. C'est devenu vraiment épuisant.

Mon journal compte plus de 17 000 lignes. Je vais juste poster la dernière partie où l'erreur se produit.

17734 verbose stack Error: ENOENT: no such file or directory, open '/home/vagrant/code/vue-test/node_modules/yargs/node_modules/yargs-parser/package.json.2655513948'
17735 verbose cwd /home/vagrant/code/vue-test
17736 verbose Linux 4.15.0-54-generic
17737 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "--no-bin-links"
17738 verbose node v12.5.0
17739 verbose npm  v6.10.1
17740 error path /home/vagrant/code/vue-test/node_modules/yargs/node_modules/yargs-parser/package.json.2655513948
17741 error code ENOENT
17742 error errno -2
17743 error syscall open
17744 error enoent ENOENT: no such file or directory, open '/home/vagrant/code/vue-test/node_modules/yargs/node_modules/yargs-parser/package.json.2655513948'
17745 error enoent This is related to npm not being able to find a file.
17746 verbose exit [ -2, true ]

Mon dernier espoir est de demander si quelqu'un a une solution pour cela ou si je dois juste abandonner Homestead.

13voto

des.esseintes Points 146

Je suis aux prises avec exactement le même problème depuis deux jours, sauf que je fonctionne sous macOS (10.14). En utilisant yarn au lieu de npm m'a enfin permis de compiler correctement (voir la doc pour l'installation du paquet : https://yarnpkg.com/lang/en/docs/install/#alternatives-stable ). Il s'agit d'un gestionnaire de paquets qui peut utiliser le même système de gestion des paquets. package.json point d'entrée comme npm et vous pouvez simplement essayer d'exécuter yarn install pour effectuer la même action que npm install (pour une comparaison plus approfondie entre les commandes, vous pouvez consulter ce lien : https://yarnpkg.com/lang/en/docs/migrating-from-npm/ ). Certes, cela ne résout pas le problème principal de npm, mais au moins cela devrait vous permettre de travailler sur votre projet en attendant une réponse plus solide.

6voto

Matheus Souza Points 85

Ce que j'ai fait pour éviter cette erreur est de npm install dans la machine hôte plutôt que sur l'invité par l'intermédiaire de vagrant ssh . D'après les recherches que j'ai effectuées, il semble que ce soit un problème de verrouillage des fichiers par Windows. Ce que j'ai fait pour le contourner, c'est :

  1. vagrant halt
  2. Chez votre hébergeur (Windows), allez dans le dossier partagé du site web que vous avez configuré dans l'écran de configuration. homestead.yaml archivo.
  3. Ouvrir cmd o git bash (en tant qu'administrateur) depuis l'intérieur du dossier (Shift+Clic droit ou cd dans celui-ci) et lancez npm install .
  4. Voilà

2voto

vagrant halt

Ensuite, il suffit de lancer npm, install && npm run dev, et cela a fonctionné pour moi.

-2voto

v3xwit Points 1

J'ai cherché une solution pendant longtemps, mais rien ne fonctionnait.

Ce qui a fonctionné, c'est d'installer nodejs sur la machine hôte et d'exécuter npm install dans le dossier du projet, puis d'exécuter npm run ... dans le dossier du projet de la machine invitée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X