npm post安装脚本不能与sudo一起使用

时间:2014-09-02 12:26:17

标签: node.js npm

我需要运行安装后脚本,因为我正在使用的库(elastic.js)没有正确捆绑。

的package.json

{
    "name": "xxxxxxx",
    "version": "1.0.0",
    "dependencies": {
        "elastic.js": "fullscale/elastic.js"
    },
    "scripts": {
        "install": "cp node_modules/elastic.js/dist/elastic.js node_modules/elastic.js"
    }
}

在我的开发机器上npm install时,它可以正常工作。

但是,在我的生产计算机上,所有应用程序文件都归root所有。当我在那里运行sudo npm install时,文件夹node_modules有趣地不属于root,而是属于我自己运行sudo命令的用户。随后安装脚本失败:

npm WARN cannot run in wd xxxxxxx@1.0.0 cp node_modules/elastic.js/dist/elastic.js node_modules/elastic.js (wd=/usr/share/xxxxxxx/app)

但是当我发出这个确切的命令时,无论是作为我的用户还是作为root

所以这是问题:为什么目录node_modules不归root所有?我该如何使这个安装后脚本工作?有没有更好的方法来克服包装严重的模块?

0 个答案:

没有答案