我被一个错误搞了一个晚上,什么都没有干,光找这个错误了。

这个问题大概就是说,npm默认会使用symbolic links来安装组件,
也即我们在linux系统里经常用的软链接(ln -s)或硬链接(ln),
但是有些文件系统不支持文件链接,
比如Windows(或者说出于安全原因禁用了),有时候linux系统运行在有windows分区的硬盘上也不支持链接,
比如virtualbox在windows主机上默认禁止在共享文件夹里使用symbolic links,
当然也是出于安全考虑。
那么npm install默认需要使用symbolic link,而且这也本身也是npm比较重要的一个特性,但如果我们的系统不支持这一属性的话,就会报上面的错误了。
解决办法,就是在npm install的时候加上一个参数,就是–no-bin-links,也即npm install --no-bin-links
但是,这样也就仅仅局限于安装的时候不会报错,但是在编译的时候还是会报错的,执行 npm run watch-poll 或者 npm run dev 仍然失败
解决办法:
其实 windows上 也能使用文件链接,但条件是,必须是拥有管理员权限才行,如果你在执行 vagrant up前,打开你的命令行的时候,使用了管理员权限来打开,那么其实 npm install 不加 --no-bin-links 也不会报错,npm run watch-poll 或者 npm run dev 也不会报错了。

这样就可以成功安装mix了

参考:
方案一

当npm在不支持文件链接的系统(如Windows或某些Linux环境)中安装组件时,可能会遇到错误。添加`--no-bin-links`参数可以避免安装时的错误,但可能在编译时仍存在问题。在Windows上,需要以管理员权限运行命令行来启用文件链接,从而顺利执行npm install、npm run watch-poll和npm run dev。此解决方案适用于在受限环境中使用npm的情况。
1027

被折叠的 条评论
为什么被折叠?



