从Fixing npm权限中看到了这一点,它很有帮助,也许您也可以尝试一下。
选项1:将权限更改为npm的默认目录
- 找到npm目录的路径:
npm config get prefix
对于许多系统,这将是
/usr/local。
警告 :如果显示的路径是
/usr,请切换到 选项2, 否则您将弄乱您的权限。
- 将npm目录的所有者更改为当前用户的名称(您的用户名):
sudo chown -R $(whoami) $(npm config getprefix)/{lib/node_modules,bin,share}这改变了由NPM使用的子文件夹的权限和一些其他的工具(
lib/node_modules,
bin,和
share)。
选项2:将npm的默认目录更改为另一个目录
有时候,您不想更改npm使用的默认目录的所有权(例如
/usr),因为这可能会导致一些问题,例如,如果您要与其他用户共享系统。
相反,您可以将npm配置为完全使用其他目录。在我们的情况下,这将是我们主文件夹中的隐藏目录。
- 创建用于全局安装的目录:
mkdir ~/.npm-global
- 配置npm以使用新的目录路径:
npm config set prefix '~/.npm-global'
- 打开或创建
~/.profile
文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
- 返回命令行,更新系统变量:
source ~/.profile
测试 :不使用全局下载软件包
sudo。
`npm install node-g.raphael --save`
可以使用相应的ENV变量代替步骤2-4(例如,如果您不想修改
~/.profile):
NPM_CONFIG_PREFIX=~/.npm-global
选项3:使用软件包管理器为您解决此问题。
如果要在Mac OS上全新安装Node,则可以使用
Homebrew程序包管理器完全避免此问题。
Homebrew使用正确的权限开箱即用地进行设置。
brew install node
我希望这有帮助



