在我的盒子上,我在/opt/node/bin 下安装了 Node 和 NPM 二进制文件。并且路径添加正确。
node -v
和
npm -v
工作正常。当我创建一个文件并使用 Node 运行它时,一切都按预期工作。但是,当我运行时:
npm init
程序写package.json失败,因为它没有写权限。我使用:
sudo npm init
我得到一个所有者和组为 0 0 的文件,因此任何普通用户都不能修改该文件。我不想 chown Node/npm 生成的每个文件。
有没有办法让 node/npm 以与我的其他用户相同的组中的用户身份运行,并对相同的目录具有写入权限?
最佳答案
您可以简单地chown
您的/opt/
目录,以后对npm init
的调用将归您所有。更好的是,在您的 /home
文件夹中工作,并确保 npm 和 Node 在您的 $PATH
中。这样你就不需要担心初始化新 Node 模块的权限问题。但是,您需要使用 sudo
全局安装包。根据 Nodejs 的维护者的说法,这是一种不好的做法:
http://howtonode.org/introduction-to-npm
我会跟随他在那里的设置。正如他所提到的,向包管理器授予 root 访问权限是非常危险的。
关于linux - CentOS 上没有 sudo 的 NodeJS 和 npm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21756819/