npm install 在windows host 和 linux guest vm 共享目录下创建软链接失败的解决方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/joshua2011/article/details/88580489

目前工作的本地开发环境是 windows 10 host ,virtualbox 安装centos 7 linux,代码是放在共享目录下,这样的好处是可以在 windows下用 IDE调试同一份代码,也linux中的server也运行着同一份代码。

代码项目中有用到 node,需要npm install 包。

但 npm install 会在 node_modules/.bin 下创建一些脚本的软链接,

但共享目录所在的文件系统是windows,但windows对软链接的支持 ~ 谁用谁知道

以下方法就不要试试了:

1)用管理员权限设置NTFS

2)VBoxManage setextradata YOURVMNAME  VBoxInternal2/SharedFoldersEnableSymlinksCreate/YOURSHAREFOLDERNAME @see https://www.virtualbox.org/ticket/10085

不要搜索了,这个问题网上的方法都是以上两个说法。

正确的解决问题的方向是问自己这几个问题,然后搞明白答案:

1)什么是软链接?

2)软链接起什么作用?

3)有什么可以代替软链接起到同样作用?

==============================================

在这我只给出 3)的结果,我不回答问题。

1)在 一个linux 的目录下 npm install 安装会相关的包,因为 linux的目录是支持软链接的

2)把 node_modules/.bin 下的软链接 替换成一个启动脚本,一句shell 脚本就搞定了

for i in $(find ./node_modules -type l); do a=`realpath $i`; b='#!/bin/sh'; sh -c "rm -f $i && echo '$b' > $i && echo $a ' \$@' >> $i && chmod a+x $i"; done

3)cp 这个node_modules 目录到 共享目录下,在共享目录下 就可运行 npm run dev了

 

展开阅读全文

没有更多推荐了,返回首页