在CentOS上没有sudo的NodeJS和npm

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

node -v 

 npm -v 

工作正常。 当我创build一个文件并运行它与节点都按预期工作。 但是,当我运行:

 npm init 

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

 sudo npm init 

我得到一个文件的所有者和组0 0,所以任何普通用户不能修改此文件。 我不想要每个文件节点/ npm生成。

有没有办法让节点/ NPM作为一个用户在我的其他用户在同一组运行,并有写权限到相同的目录?

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

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

我会跟着他的设置在那里。 正如他所提到的那样,给包pipe理员提供根访问是非常危险的。