Ответ 1
Просто выпустите "npm install" в Windows, а не в Homestead. Конечно, вам нужно иметь npm для окон, установленных для этого.
При запуске npm install [any package]
или даже npm install
на homestead я получаю следующую ошибку:
npm ERR! ETXTBSY: text file is busy, rmdir '/home/vagrant/valemus-shop-starter/valemus-shop/node_modules/fsevents'
Журнал отладки можно увидеть здесь
Я попытался удалить каталог fsevents
, однако его не существует.
Как это исправить?
Просто выпустите "npm install" в Windows, а не в Homestead. Конечно, вам нужно иметь npm для окон, установленных для этого.
Я столкнулся с тем же делом на Windows 10 + VirtualBox (VBox) + Vagrant + Laravel Homestead, когда я хотел изменить реакцию на интерфейс.
И после большого поиска, проб и ошибок, это решение сработало для меня, возможно, оно работает и для вас.
Остановил бродягу:
vagrant halt
Добавлено следующее в раздел конфигурации Vagrantfile в каталоге Homestead
config.vm.provider "virtualbox" do |v|
v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end
запустил cmd как admin
затем vagrant up
и vagrant ssh
cd для разработки dir
затем удалите dir_modules с помощью rm -rf node_modules/
if any
а затем sudo npm install && npm run dev
и все это было установлено без каких-либо предупреждений или ошибок.
Это результат двух часов чтения :)
Редактировать:
Если ваша проблема не решена, и у вас есть упомянутая настройка, вы можете использовать другое решение:
Устанавливайте узел на вашей машине Windows
Затем cd в каталог разработки и запустите npm install
из Windows, и вы получите тот же результат.
Вы также можете инициировать npm run watch
из окон cmd.
Это помогло мне снять нагрузку с VM и позволить Windows делать часы и получать уведомления о просмотре npm run watch
в Windows.
ура
Тоже самое произошло со мной
Моя среда - linux
fsevents - это модуль, посвященный mac
Попробуйте выполнить следующую команду
npm install --no-optional
Я изо всех сил пытался справиться с этой проблемой на своей машине с Windows 10 с Homestead. И после долгих усилий я решил это таким образом;
удалите папку node_modules.
Вы запускаете эти команды на своем оконном терминале:
npm install --no-bin-links (After some experience it is necessary for virtual machines)
npm rebuild --no-bin links
Обычно он работает после этих команд, но если вы принимаете эту ошибку
"Узел Sass не смог найти привязку для вашей текущей среды:
выполните эту команду на своем терминале Homestead для установки узла Sass для Linux.
npm rebuild node-sass
если он не работает, попробуйте использовать пряжу. Удалите узловые модули папки package.json.lock и yarn.lock (если есть) файлы и введите
yarn install
Если все они не сохраняют вас, используйте все команды npm из виртуальной машины. Это будет работа.
Я надеюсь, это поможет вам...
Я также пытаюсь найти решение для этого, но вот оно.
Для обновления вы можете установить n
sudo npm install -g n
Тогда просто:
sudo n latest
При бродяжничестве:
npm install --save-dev cross-env
npm install
npm run dev
Это сделало трюк, хотя я провел целый день, найдя правильное решение (https://www.npmjs.com/package/cross-env)
У меня была проблема с "npm install" тоже, я использую Windows 10. Наконец, я исправился, что я сделал, так это то, что я вышел из "vagrant ssh" и запустил "обновление брандмауэра", затем "npm install" работал. Обратите внимание, что я запускал "обновление брандмауэра" и "npm install" из "бродячего ssh". Надеюсь, поможет.
Я все еще получал ошибку, даже после выполнения
config.vm.provider "virtualbox" do |v|
v.customize ["setextradata", :id,
"VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end
как предложил Бабак Бандпей
Оказалось, что существует еще одна неприятная проблема ограничения символа пути файла. Это происходит довольно часто, если вы используете узловой модуль с длинным именем. Вы можете легко решить эту проблему, выполнив следующие шаги после vagrant ssh в linux vm:
mkdir ~/node_modules
Добавьте символическую ссылку в папку "node_modules", которую вы только что создали в папке проекта
ln -sf ~/node_modules/vagrant/your-project-folder
Это решение гарантирует, что все узловые модули хранятся в домашнем каталоге вместо синхронизированной папки. Исходный источник: https://blog.rudylee.com/2014/10/27/symbolic-links-with-vagrant-windows/
Надеюсь, это поможет кому-то с подобной проблемой, спасибо!
Переход на версию npm до 5.7.1 помогло.
Команда, используемая для понижения: npm install -g [email protected]
Я использую Win10, Vagrant, Ubuntu v14.04 и Node v8.11.4
Сначала мне пришлось удалить папку node_modules, затем я сделал
sudo chmod a+x .
для того, чтобы убедиться, что у меня есть привилегия делать что-либо на машине, тогда я
sudo npm install --no-bin-links
никакие связи с бункером не нужны в бродяжнике из моего опыта, потому что эти виртуальные машины не поддерживают ссылки на бин (исправьте меня, если они ошибаются). Тогда я просто
sudo npm run dev
в этот момент некоторые люди могут не столкнуться с обнаруженной ошибкой cross-env. В этом случае просто удалите cross-env в файле package.json и запустите его снова. Это сработало для меня, но некоторые люди все еще сталкиваются с одной и той же проблемой. Может стоить дать ему шанс.