Lorsque vous exécutez npm install [any package]
ou même npm install
sur Homestead j'obtiens l'erreur suivante:
npm ERR! ETXTBSY: text file is busy, rmdir '/home/vagrant/valemus-shop-starter/valemus-shop/node_modules/fsevents'
Le journal de débogage peut être vu ici
J'ai essayé de supprimer le répertoire fsevents
, mais il n'existe pas.
Comment puis-je réparer ça?
Faire passer la version de npm à la version 5.7.1 a été très utile.
Commande utilisée pour rétrograder: npm install -g [email protected]
J'utilise Win10, Vagrant, Ubuntu v14.04 et Node v8.11.4
Je suis tombé sur la même chose sur Windows 10 + VirtualBox (VBox) + Vagrant + Laravel Homestead lorsque je voulais changer pour réagir en mode frontal.
Et après de nombreuses recherches et essais, cette solution a fonctionné pour moi, peut-être que cela fonctionne également pour vous.
Arrêté le vagabond:
vagrant halt
Ajout de ce qui suit dans la section configure du fichier Vagrant dans le répertoire Homestead
config.vm.provider "virtualbox" do |v|
v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end
a commencé le cmd en tant qu'administrateur
puis vagrant up
et vagrant ssh
cd à développement dir
puis supprimé le répertoire node_modules de rm -rf node_modules/
le cas échéant
puis a couru le Sudo npm install && npm run dev
et le tout a été installé sans aucun avertissement ni erreur.
C'est le résultat de deux heures de lecture :)
Edit:
Si votre problème n'est pas résolu et que vous avez la configuration mentionnée, vous pouvez utiliser une autre solution:
Installez le Node sur votre machine Windows aussi
Puis cd dans votre répertoire de développement et lancez le fichier npm install
de Windows et vous obtiendrez le même résultat.
Vous pouvez également lancer le npm run watch
depuis un windows cmd après.
Cela m'a aidé à lever la charge du VM) et à laisser Windows surveiller et recevoir les notifications du npm run watch
sous Windows.
À votre santé
Lancez simplement "npm install" dans Windows au lieu de Homestead. Bien entendu, vous devez avoir installé npm pour Windows pour le faire.
J'ai eu beaucoup de mal à résoudre ce problème sur ma machine Windows 10 avec Homestead. Et après beaucoup d’efforts, je l’ai résolu de cette façon;
supprimez votre dossier node_modules.
Vous exécutez ces commandes sur votre terminal Windows:
npm install --no-bin-links (After some experience it is necessary for virtual machines)
npm rebuild --no-bin links
Généralement, cela fonctionne après ces commandes, mais si vous avez pris cette erreur
"Nœud Sass n'a pas pu trouver de liaison pour votre environnement actuel:"
veuillez exécuter cette commande sur votre Homestead Terminal pour installer le noeud Sass for Linux.
npm rebuild node-sass
si ce n'est pas du travail, essayez d'utiliser du fil. Supprimez le fichier de modules de nœud package.json.lock et yarn.lock (le cas échéant) et tapez
yarn install
Si tous ne sont pas sauvegardés, tilisez toutes les commandes npm en dehors de la machine virtuelle. Cela fonctionnera.
J'espère que ceci vous aide...
Il m'est arrivé la même chose
Mon environnement est Linux
fsevents est un module dédié à mac
S'il vous plaît essayez la commande suivante
npm install --no-optional
Je continuais à avoir une erreur, même après avoir suivi
config.vm.provider "virtualbox" do |v|
v.customize ["setextradata", :id,
"VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end
comme suggéré par Babak Bandpey
Il s'est avéré qu'il y avait un autre problème ennuyeux de limite de caractères de chemin de fichier. Cela se produit assez souvent si vous utilisez un module de noeud avec un nom long. Vous pouvez facilement résoudre ce problème en suivant ces étapes après le vagabond ssh dans linux vm:
mkdir ~/node_modules
Ajouter un lien symbolique dans le dossier "node_modules" que vous venez de créer dans votre dossier de projet
ln -sf ~/node_modules /vagrant/your-project-folder
Cette solution garantira que tous les modules de nœud sont stockés dans le répertoire de base au lieu du dossier synchronisé. Source originale: https://blog.rudylee.com/2014/10/27/symbolic-links-with-vagrant-windows/
J'espère que cela aidera quelqu'un ayant un problème similaire, merci!
J'ai également du mal à trouver une solution à ce problème, mais la voici.
Pour mettre à jour, vous pouvez installer n
Sudo npm install -g n
Alors juste:
Sudo n latest
En parcours vagabond:
npm install --save-dev cross-env
npm install
npm run dev
Cela a fait l'affaire, même si j'ai passé toute une journée à trouver la bonne solution ( https://www.npmjs.com/package/cross-env )
J'avais un problème avec "npm install" aussi, j'utilise Windows 10. Enfin, je l'ai corrigé. Ce que j'ai fait, c'est que je suis sorti de "vagrant ssh" et que je lance "vagrant box update", puis "npm install" a fonctionné. Notez que j'ai lancé "vagrant box update" et "npm install" sur "vagrant ssh". J'espère que ça aide.
je devais d'abord supprimer le dossier node_modules, puis je l'ai fait.
Sudo chmod a+x .
pour m'assurer que j'ai le privilège de faire quoi que ce soit sur la machine, alors je
Sudo npm install --no-bin-links
d'après mon expérience, aucun lien bin n'est requis dans le vagabond car ces VM ne prennent pas en charge les liens bin (corrigez-moi si je me trompe).
Sudo npm run dev
à ce stade, certaines personnes pourraient ne rencontrer aucune erreur trouvée dans cross-env. Dans ce cas, supprimez cross-env dans le fichier package.json et exécutez-le à nouveau. Cela a fonctionné pour moi, mais certaines personnes rencontrent toujours le même problème. Ça vaut le coup de tenter le coup.