# npm 防止权限错误

如果你在尝试全局安装软件包时看到 EACCES 错误,请阅读本章。如果你更改安装 npm 的目录,通常可以避免此错误。为此,请执行以下任一操作:

# 选择 1:使用节点版本管理器重新安装

这是避免权限问题的最佳方法。这在 上一篇 中进行了描述。在安装节点版本管理器之前,你不需要删除当前版本的 npm 或 Node.js。

# 选择 2:更改 npm 的默认目录

本节不适用于 Microsoft Windows。本章将在不久的将来更新以解决 Windows。为了最大限度地减少权限错误的可能性,你可以将 npm 配置为使用不同的目录。在本例中,它将是你的主文件夹中的一个隐藏目录。

  1. 在开始之前备份你的计算机。

  2. 为全局安装创建一个目录:

mkdir ~/.npm-global
  1. 配置 npm 以使用新的目录路径:
npm config set prefix '~/.npm-global'
  1. 打开或创建一个~/.profile文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
  1. 回到命令行,更新你的系统变量:
source ~/.profile

测试:不使用 sudo 下载全局包。

npm install -g jshint

你可以使用相应的 ENV 变量(例如,如果你不想修改 ~/.profile ),而不是步骤 2-4 :

NPM_CONFIG_PREFIX=~/.npm-global

# 提示:考虑 npx

如果你使用的是 npm 5.2 或更高版本,请探索npx作为运行全局命令的替代方法,特别是如果你只是偶尔需要一个命令。

Last Updated: 4/7/2023, 11:06:25 PM