npm
我正在使用一个自动运行的框架webpack
,目录/usr/lib/node_modules
具有 755 个权限,需要通过才能运行npm
。sudo
我使用的框架不允许添加sudo
到命令中。
现在我需要以全局形式(例如npm install webpack -g
)安装 npm 包,而不使用sudo
。
哪些权限可以/usr/lib/node_modules
?如果我设置 777 个权限,这样可以吗?安全吗?
谢谢你!
答案1
你不需要改变允许无需npm
即可使用sudo
。要设置npm
运行,请sudo
按照以下步骤操作:
选项1:
获取 npm 目录的路径:
npm config get prefix
如果你有
/usr
转到选项 2否则将 npm 目录的所有者更改为您的:sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
选项 2:
创建全局安装的目录:
mkdir ~/.npm-global
配置使用该目录:
npm config set prefix '~/.npm-global'
打开或创建
~/.profile
并添加:export PATH=~/.npm-global/bin:$PATH
将其也添加到您的
~/.bashrc
文件中(可选):export PATH=/home/username/.npm-global/bin:$PATH export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript:/home/username/.npm-global/lib/node_modules
刷新文件:
source ~/.bashrc
运行测试:
npm install -g jshint
来源:
https://docs.npmjs.com/getting-started/fixing-npm-permissions