Joyeuxman / Joyeuxman.github.io

个人博客
1 stars 0 forks source link

如何防止权限错误 #21

Open Joyeuxman opened 5 years ago

Joyeuxman commented 5 years ago

如何防止权限错误

如果您在尝试安装全局包时看到EACCES错误,请阅读本章。如果更改安装npm的目录,通常可以避免这个错误。要做到这一点:

重新安装npm

这是避免权限问题的最好方法。这在第二章中描述。

在安装node版本管理器之前你不需要删除当前版本的npm和node。

手动更改npm的默认目录

本节不适用于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

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

NPM_CONFIG_PREFIX=~/.npm-global

提示:考虑npx

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