node-pre-gyp && gyp ERR! && build error 解决方法

从git上clone同一个项目,在不同的设备上install总是会出现各种各样奇奇怪怪的错误。特别是mac设备,今天在把一个项目安装依赖的时候出现了一些问题,报了包括权限在内的好几种错误,试了删除module重新install、sudo安装单独安装某个依赖都没用,报错长下面这样。
Tag:
1⃣️node-pre-gyp WARN Using needle for node-pre-gyp https download
2⃣️node-pre-gyp WARN Pre-built binaries not installable for [email protected] and [email protected] (node-v67 ABI, unknown) (falling back to source compile with node-gyp)
3⃣️gyp ERR! configure error

各种百度试遍方法,终于找到了正解。
解决方案:

sudo npm install --unsafe-perm

又百度了下--unsafe-perm这个参数代表啥意思,思否上有篇文章解释如下:

就是说 npm 出于安全考虑不支持以 root 用户运行,即使你用 root 用户身份运行了,npm 会自动转成一个叫 nobody 的用户来运行,而这个用户几乎没有任何权限。这样的话如果你脚本里有一些需要权限的操作,比如写文件(尤其是写 /root/.node-gyp),就会崩掉了。

为了避免这种情况,要么按照 npm 的规矩来,专门建一个用于运行 npm 的高权限用户;要么加 --unsafe-perm 参数,这样就不会切换到 nobody 上,运行时是哪个用户就是哪个用户,即使是 root。

参考文章:
解释--unsafe-permhttps://segmentfault.com/q/1010000019365121/
node-pre-gyp && gyp ERR! && build error 解决方法https://www.jianshu.com/p/a2a2ddeb174c

你可能感兴趣的:(node-pre-gyp && gyp ERR! && build error 解决方法)