npm全局权限设置 - Mac

目前网络上常见的方法都是修改npm安装路径的权限

通过使用命令

1
npm config get prefix

得到npm的路径,结果大部分都是/usr/local。然后,很多方法都会要求将该路径的权限修改为当前用户

即,使用命令

通过使用命令

1
sudo chown -R $(whoami) /usr/local

1
sudo chown -R $(whoam) $(npm config get prefix)/{lib/node_modules,bin,share}

但这种方法在Mac OS达到10.12及之后便无效了,系统默认无法更改/usr/local文件夹的所有权,会提示: chown: /usr/local: Operation not permitted

官网给出的方法

然而实际上,node官网早已对这种情况作出了合理的修改方法,并且官网强烈建议用户不要使用root、sudo等方法覆盖权限。链接如下: node官网给出的修改方法

使用nvm重新安装node

nvm 即node version manager,这是node官网的推荐方法,使用nvm安装node时会自动申请各种权限,在之后的使用中就不会有权限问题了

安装方法如下: node官网给出的安装方式

改变npm的默认路径

第二个方法是我目前使用的方法,这也是不想重新安装node的用户可以采用的方法。可以将默认的全局安装路径修改到当前用户的home目录下

1.新建一个全局安装的路径

1
mkdir ~/.npm-global

2.配置npm使用新的路径

1
npm config set prefix ‘~/.npm-global’

3.打开或新建~/.bash_profile文件,在末尾加入

1
export PATH=~/.npm-global/bin:$PATH

4.更新系统环境变量

1
source ~/.bash_profile

1.新建一个全局安装的路径

1
mkdir ~/.npm-global
  • PS: 如果你不想去修改.bash_profile文件的话,你也可以使用如下命令
1
2
# 配置npm config的路径
NPM_CONFIG_PREFIX=~/.npm-global

不会电脑的码农

坚持原创技术分享,您的支持将鼓励我继续创作!