【问题标题】:NodeJS and npm without sudo on CentOSCentOS 上没有 sudo 的 NodeJS 和 npm
【发布时间】:2014-02-13 22:54:42
【问题描述】:

在我的机器上,我在 /opt/node/bin 下安装了 Node 和 NPM 二进制文件。并且路径添加正确。

node -v 

npm -v 

工作正常。当我创建一个文件并使用节点运行它时,一切都按预期工作。但是,当我运行时:

npm init 

程序无法写入 package.json,因为它没有写入权限。我用:

sudo npm init

我得到一个所有者和组为 0 0 的文件,因此任何普通用户都无法修改此文件。我不想对节点/npm 生成的每个文件都进行 chown。

有没有办法让 node/npm 以与我的其他用户在同一组中的用户身份运行并具有对相同目录的写入权限?

【问题讨论】:

    标签: linux node.js permissions npm


    【解决方案1】:

    您可以简单地 chown 您的 /opt/ 目录,以后对 npm init 的调用将归您所有。更好的是,在您的 /home 文件夹中工作,并确保 npm 和节点在您的 $PATH 中。这样您就无需担心初始化新节点模块的权限。但是,您需要使用 sudo 来全局安装软件包。根据 Nodejs 的维护者,这是不好的做法:

    http://howtonode.org/introduction-to-npm

    我会跟随他在那里的设置。正如他所提到的,授予包管理器 root 访问权限是非常危险的。

    【讨论】:

    • 这很有意义并且效果很好。非常感谢。
    猜你喜欢
    • 2017-03-18
    • 1970-01-01
    • 2021-04-21
    • 2014-08-08
    • 2014-07-02
    • 2016-10-04
    • 1970-01-01
    • 2015-03-14
    • 1970-01-01
    相关资源
    最近更新 更多