如果EACCES
在尝试全局安装软件包时看到错误,则可以:
- 使用节点版本管理器重新安装npm(推荐),
要么
- 手动更改npm的默认目录
重新安装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变量(例如,如果您不想修改~/.profile
),而不是步骤2-4 :
<span style="color:#333333"><code> NPM_CONFIG_PREFIX=~/.npm-global
</code></span>
npx:运行全局命令的替代方法
如果使用的是npm 5.2或更高版本,则可能需要将npx视为运行全局命令的替代方法,尤其是在偶尔需要命令的情况下。有关更多信息,请参阅有关npx的这篇文章。