Resolving EACCES permissions errors when installing packages globally

如果在尝试全局安装软件包时看到EACCES错误,则可以:

or

Reinstall npm with a node version manager

这是避免权限问题的最佳方法. 要使用节点版本管理器重新安装npm,请遵循" 下载并安装Node.js和npm "中的步骤. 在安装节点版本管理器之前,不需要删除当前版本的npm或Node.js.

Manually change npm’s default directory

注意:本部分不适用于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 
  6. 要测试新配置,请在不使用sudo情况下全局安装软件包:
      npm install -g jshint 

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

    NPM_CONFIG_PREFIX=~/.npm-global
npx:运行全局命令的替代方法

如果您使用的是npm 5.2或更高版本,则可能要考虑将npx作为运行全局命令的替代方法,尤其是在您仅偶尔需要命令的情况下. 有关更多信息,请参见有关npx的本文 .

< Downloading and installing packages globally | Updating packages downloaded from the registry >

by  ICOPY.SITE