我是使用 WSL1 中的 npm 安装依赖,小程序代码保存在 Win10 系统中,在 Win10 系统中的微信开发者工具进行构建 NPM,遇到如下问题。
message:发生错误
Error: EACCES: permission denied, scandir 'S:\WorkSpaces\HeyCommunity\HeyCommunityTemplate\HeyCommunityTemplate-wxapp\node_modules\.bin\atob'
appid: wxbfb0f22468***
openid: o6zAJsy***
ideVersion: 1.05.2203251
osType: win32-x64
time: 2022-04-09 01:59:37
原因
原因应该是 Linux 的软链接在 Win10 中不被支持
❯ cd node_modules/.bin
❯ l
total 0
drwxr-xr-x 1 superodv2 superodv2 512 Apr 9 02:30 .
drwxr-xr-x 1 superodv2 superodv2 512 Apr 9 02:30 ..
lrwxrwxrwx 1 superodv2 superodv2 19 Apr 9 02:30 atob -> ../atob/bin/atob.js
lrwxrwxrwx 1 superodv2 superodv2 23 Apr 9 02:30 color-support -> ../color-support/bin.js
lrwxrwxrwx 1 superodv2 superodv2 19 Apr 9 02:30 gulp -> ../gulp/bin/gulp.js
lrwxrwxrwx 1 superodv2 superodv2 22 Apr 9 02:30 resolve -> ../resolve/bin/resolve
lrwxrwxrwx 1 superodv2 superodv2 15 Apr 9 02:30 sass -> ../sass/sass.js
lrwxrwxrwx 1 superodv2 superodv2 20 Apr 9 02:30 semver -> ../semver/bin/semver
lrwxrwxrwx 1 superodv2 superodv2 18 Apr 9 02:30 which -> ../which/bin/which
解决方案
解决办法 1
把 node_modules/.bin 目录删除,再构建 NPM。之后再 npm install 恢复删除文件。
解决办法 2
手动依次把软链接文件替换为真实文件,再进行构建 NPM。

困扰一年多的问题终于解决了 : )