通过npm返回安装copay:无法在wd%s%s中运行(wd =%s)

时间:2016-10-06 16:25:58

标签: node.js npm npm-install

我执行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

我没有找到解决问题的好方法。有人有想法解决它?

1 个答案:

答案 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会更好用吗?