如何防止npm权限错误
EACCES
错误
如果在尝试全局安装软件包时看到EACCES
错误,那么这章就是解决你问题的。
如果更改npm的安装目录,通常可以避免此错误。为此,可以:
- 使用版本管理器重新安装npm(推荐),
- 手动更改npm的默认目录。
选项一:使用节点版本管理器重新安装
这是避免权限问题的最佳方法。
在安装节点版本管理器之前,不需要删除当前版本的npm或Node.js。
选项二:更改npm的默认目录
本部分不适用于Microsoft Windows。
为了最大程度地减少权限错误的可能性,您可以将npm配置为使用其他目录。在此示例中,它将是您的主文件夹上的隐藏目录。
-
1.开始之前,请备份计算机。
-
2.创建用于全局安装的目录:
mkdir ~/.npm-global
- 3.配置npm以使用新的目录路径:
npm config set prefix '~/.npm-global'
- 4.打开或创建~/.profile文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
- 5.返回命令行,更新系统变量:
source ~/.profile
测试:在不使用的情况下全局下载软件包sudo。
npm install -g jshint
可以使用相应的ENV变量代替步骤2-4(例如,如果您不想修改~/.profile
):
NPM_CONFIG_PREFIX=~/.npm-global
提示:考虑npx
如果您使用的是npm 5.2或更高版本,请探索npx作为运行全局命令的替代方法,尤其是在您偶尔需要命令的情况下。单击此处阅读有关npx的出色文章。