阅读(3418) (9)

npm 防止权限错误

2021-09-02 14:10:32 更新

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

  1. 使用版本管理器重新安装 npm(推荐),
  2. 手动更改 npm 的默认目录。

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

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

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

本节不适用于 Microsoft Windows。本章将在不久的将来更新以解决 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 变量(例如,如果你不想修改~/.profile),而不是步骤 2-4 :

    NPM_CONFIG_PREFIX=~/.npm-global

提示:考虑 npx

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