我执行npm install
作为sudo
来安装copay bitcopay
但是对于某些读取,我收到此错误。
$ sudo npm install
Password:
npm WARN lifecycle copay@2.7.0~preinstall: cannot run in wd %s %s (wd=%s) copay@2.7.0 bower install /Users/Jarvis/Documents/Projects/copay
npm WARN lifecycle copay@2.7.0~postinstall: cannot run in wd %s %s (wd=%s) copay@2.7.0 npm run build /Users/Jarvis/Documents/Projects/copay
copay@2.7.0 /Users/Jarvis/Documents/Projects/copay
我没有找到解决问题的好方法。有人有想法解决它?
答案 0 :(得分:1)
正如我最近发现的那样,this explanation击中了它。
正如Manu所说:
在深入挖掘时,我发现NPM试图降级它 运行脚本时的权限。降级特权 导致此错误。
我遇到了类似的问题,试图以root身份在docker容器中运行。 “npm install --unsafe-perm”解决方案对我有用。
来自黑客新闻的jfroma说“不要这样做”。虽然他们解释了这种情况,但他们没有解释为什么它不安全并且引用了npm config page,但是,该页面只解释了这是一个关于特权是否在降级过程中降级的真/假配置。安装。实际上,如果你看一下the broader conversation that jfroma's comment is in,你可以推断出一个危险就是npm包中很容易有“rm -fr /”。如果你使用--unsafe-perm以root身份运行npm来安装该软件包,你会感到很难过。
因为我在一个docker容器中运行这个安装,我每次都从源代码重新创建一个构建版本,所以它可能足够安全。我总是可以回去买回来让我的东西回来。
如果您尝试在工作站上安装某些内容,或许adjusting the permissions of your installation会更好用吗?