如下图所示错误
解决方法
-
如果EACCES在尝试全局安装软件包时看到错误,则可以:
-
- 使用节点版本管理器重新安装npm(推荐)
- 手动更改npm的默认目录
- 管理员启动cmd(windows)
官方具体操作
重新安装NPM与节点版本管理
这是避免权限问题的最佳方法。要使用节点版本管理器重新安装npm,请遵循“下载并安装Node.js和npm ”中的步骤。在安装节点版本管理器之前,不需要删除当前版本的npm或Node.js。
手动更改npm的默认目录
注意:本部分不适用于Microsoft Windows。(官方是这么说的)
为了最大程度地减少权限错误的可能性,您可以将npm配置为使用其他目录。在此示例中,您将在主目录中创建并使用隐藏目录。
备份您的计算机。
在命令行的主目录中,创建用于全局安装的目录:
mkdir ~/.npm-global
配置npm以使用新的目录路径:
npm config set prefix '~/.npm-global'
在您喜欢的文本编辑器中,打开或创建一个~/.profile文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
在命令行上,更新系统变量:
source ~/.profile
要测试新配置,请在不使用的情况下全局安装软件包sudo:
npm install -g jshint
可以使用相应的ENV变量代替步骤2-4(例如,如果您不想修改~/.profile):
NPM_CONFIG_PREFIX=~/.npm-global
npx:运行全局命令的替代方法
如果您使用的是npm 5.2或更高版本,则可能要考虑使用npx作为运行全局命令的替代方法,尤其是在偶尔仅需要一个命令的情况下。有关更多信息,请参见有关npx的本文。