Dia*_*lan 21 symlink npm laravel homestead
我正在Laravel建立我的第一个项目,并尝试使用Elixir,在Windows 8.1上使用宅基地.我已经找到了太长路径名称的已知npm/vagrant问题:https: //harvsworld.com/2015/how-to-fix-npm-install-errors-on-vagrant-on-windows-beause -the路径-是太长/
所以我在那篇文章中推荐了一行编辑(感谢上帝为那个人),然后运行(有和没有sudo):npm install --no-bin-links
它让我前进,所以现在我得到两种不同的错误:一些'Missing write access'错误,以及一堆"EACCES"错误:
错误输出给了我清道夫狩猎的下一个线索(我认为):请尝试以root/Administrator再次运行此命令
这让我想到了这篇文章,但对我来说不同的是,即使我使用sudo(或更新我的用户权限)之后也没有变化:
sudo chown -R $ USER/usr/local
sudo chown -R $(whoami)〜/ .npm
更新:然后在下面的建议后我得到EPROTO和EXTXTBSY错误(甚至在按照提示建议重命名npm-debug.log后:

所以我试着运行gulp来看看它是否会给我提供线索,并且错误输出让我这样做:
sudo npm rebuild node-sass
Run Code Online (Sandbox Code Playgroud)
运行它给我相同的EPROTO和ETXTBSY错误,并且npm-debug.log文件显示:错误EPROTO:协议错误,符号链接'../node-sass/bin/node-sass' - >'/ home/vagrant /代码/家庭laravel/node_modules/laravel-仙丹/ node_modules /一饮而尽,上海社会科学院/ node_modules /的.bin /节点萨斯
然后在处理了一些其他的东西一小时之后我回来了新鲜并重新执行这些步骤,这次减少错误:
sudo npm -g install npm @ latest(fine)
sudo npm install --no-bin-links(只是ETXTBSY错误和插件"运行序列"中的错误,在任务'sass'中)
sudo npm rebuild node-sass --no-bin-links(没有错误!)
gulp(只有一个错误:未找到:notify-send)
越来越近!
Ada*_*dam 43
我已经试图解决这个问题好几周了.以下是我在不使用主机环境的情况下完成的工作:
我根据nodesource.com将节点更新到了Homestead的最新版本:
sudo apt-get install --yes nodejs
curl --silent --location https://deb.nodesource.com/setup_4.x | sudo bash -
Run Code Online (Sandbox Code Playgroud)
我更新了npm到宅基地的最新版本.这应该在更新节点后完成:
sudo npm -g install npm@latest
Run Code Online (Sandbox Code Playgroud)
我在laravel项目目录中运行了npm install.我还必须使用force来获取要安装的所有依赖项:
sudo npm install --no-bin-links
sudo npm cache clear
sudo npm install --force --no-bin-links
Run Code Online (Sandbox Code Playgroud)
我根据gulp错误重建了node-sass:
sudo npm rebuild node-sass --no-bin-links
Run Code Online (Sandbox Code Playgroud)
在整个过程中如果出现故障或每次安装后,我使用:
sudo npm cache clear
Run Code Online (Sandbox Code Playgroud)
我的主人是Windows 10,最新的虚拟盒,最新的流浪汉,最新的家园.我使用git bash作为管理员,使用git bash使用ssh进入vagrant.
到目前为止,我只测试并证实我的gulp有效.可能需要重建其他依赖项.
希望这可以帮助!
正如你们中的许多人也在使用Virtual Box设置 Homestead ......
在谷歌搜索解决方案后,我决定参考Laravel Homestead文档。幸运的是,解决方案已发布在那里:
https://laravel.com/docs/5.8/homestead#provider-specific-settings
您只需要将以下内容添加到您的 homestead Vagrantfile 中。
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
(...)
config.vm.provider "virtualbox" do |v|
v.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
end
(...)
end
Run Code Online (Sandbox Code Playgroud)
重要的
不要忘记以管理员身份进行配置。
homestead up --provision
| 归档时间: |
|
| 查看次数: |
10127 次 |
| 最近记录: |