https://harvsworld.com/2015/how-to-fix-npm-install-errors-on-vagrant-on-windows-because-the-paths-are-too-long/
所以我在那篇文章中做了一行编辑(感谢上帝为那个家伙),然后跑(有和没有sudo):
npm安装–no-bin-links
它让我前进,所以现在我得到两种不同的错误:一些“缺少写入访问”错误和一堆“EACCES”错误:
错误输出给我我的清道夫狩猎的下一条线索(我想):
请尝试以root / Administrator身份再次运行此命令
这让我到了this post,但是对于我来说,使用sudo(或更新我的用户权限如此)也是没有变化的:
sudo chown -R $USER /usr/local
sudo chown -R $(whoami)〜/ .npm
更新:然后在下面的建议之后,我得到EPROTO和EXTXTBSY错误(即使在遵循提示的建议重命名npm-debug.log之后:
sudo npm rebuild node-sass
运行它给我相同的EPROTO和ETXTBSY错误,并且npm-debug.log文件显示:
错误EPROTO:协议错误,符号链接’../node-sass/bin/node-sass’ – > ‘/home/vagrant/Code/Family-laravel/node_modules/laravel-elixir/node_modules/gulp-sass/node_modules/.bin/node-sass’
然后在一些其他的东西上工作了一个小时后,我回来了,重新开始这些步骤,这个时候更少的错误:
> sudo npm -g安装npm @最新(好)
> sudo npm install –no-bin-links(只是ETXTBSY错误和插件’run sequence’中的错误,在任务’sass’中)
> sudo npm rebuild node-sass –no-bin-links(没有错误!)
gulp(只有一个错误:找不到:notify-send)
越来越近!
我根据nodesource.com将节点更新为homestead中的最新版本:
sudo apt-get install --yes nodejs curl --silent --location https://deb.nodesource.com/setup_4.x | sudo bash -
我更新了npm到最新版本的宅基地.这应该在更新节点后完成:
sudo npm -g install npm@latest
我在laravel工程目录中安装了npm安装.我也不得不使用force来获取所有依赖关系来安装:
sudo npm install --no-bin-links sudo npm cache clear sudo npm install --force --no-bin-links
我根据gulp错误重建了node-sass:
sudo npm rebuild node-sass --no-bin-links
在整个过程中,如果发生故障或每次安装后,我使用:
sudo npm cache clear
我的主机是Windows 10,最新的虚拟机,最新的流浪汉,最新的宅基地.我使用git bash作为管理员,ssh使用git bash进入vagrant.
到目前为止,我只测试并确认我的gulp工作.可能需要重建其他依赖关系.
希望这可以帮助!