@baretsky

NPM: text file is busy?

Использую Laravel Homestead. Скачал VirtualBox, Vagrant. Успешно установил, настроил. Как только начал добавлять зависимости в package.json, началась ошибка

ETXTBSY: text file is busy, rename ...


В общем, типа этот файл занят уже какой то программой и NPM не может отредактировать package.json. Я пробовал много способов: запускал из-под админа, какие только опции не перепробовал, ничего не помогает.

Использую Windows 10, NPM 6. Винда новая, только установил.
  • Вопрос задан
  • 1011 просмотров
Пригласить эксперта
Ответы на вопрос 1
Скорее всего, вам подойдёт что-то из перечисленных решений: https://github.com/npm/npm/issues/9979

Вероятнее всего, вот это:
I am able to resolve my issue now after using below command:-
$ npm install --no-bin-links
since i had to further install bower, so i used:
$ bower install <------- worked fine.
Then i wanted to build my wordpress sage template. I used
$ gulp <---- further gave some error and pointed me to use "npm rebuild node-sass"

$ npm rebuild node-sass <- gave again some symbolic link error, I choose below

command which worked fine.

$ npm rebuild node-sass --no-bin-links
Further i was able to use gulp to build.


А вот детальное описание причин проблемы:
My guess is that you're both running Linux inside Vagrant on a Windows host, because ETXTBSY is almost always due to Windows not wanting to let the guest OS remove or move a file. Generally, this happens when you have a cmd.exe process open in a directory, or are looking at the folder with Explorer, or have a file in there open in a text editor.

@Stanzilla, if you delete your current node_modules folder and reinstall, it will go from being the deeply nested npm@<3 style tree to the new npm@3 maximally flat tree, which should fix the original problem you were seeing.

@samir1kumar, it looks like you want to run your install with --no-bin-links, because you don't have your Vagrant shared directory configured to support symlinks (this is possible, but not done by default by VirtualBox or Vagrant because of security concerns). This also means you can't use linked modules in your shared directory. I shared some more thoughts about this on Twitter. Vagrant with shared directories seems like it should be the best of both worlds, but there are a surprising number of pitfalls to making it work without issues.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы