mac中的npm权限问题

当我用create-react-app 初始化项目的时候老是报一个权限的错误

Error: EACCES: permission denied

下面介绍两种解决这个问题的方法:

1.修改npm默认目录的权限

1、找到npm的目录路径:
npm config get prefix

对于很多系统,路径将会是 /usr/local.

警告:如果出来的路径仅是 /usr,请调到方法2,否则你可能会设置错误。

2、将npm目录的拥有者修改为当前用户的名字(你账户的用户名):
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

这会改变npm及其他工具用到的子文件夹的权限(lib/node_modules, bin, and share)。

2.将npm默认目录定向到其他你具有读写权限的目录

很多时候你可能并不想改变npm所用的默认目录(如/usr)的拥有者,因为这可能会导致一些问题,比如你在与其他用户共用此系统时。
这时,你可以设置npm整个地去使用另一个目录。我将它设置为我的主文件夹下的一个隐藏的目录(command+shift+>可以查看隐藏文件和目录)。
1、创建一个目录用作全局安装:

mkdir ~/.npm-global

2、配置npm使用这个新目录:

npm config set prefix '~/.npm-global'

3、打开(没有就创建)一个“~/.profile”文件到你的全局目录下并添加下行代码(这一步不在命令行操作,而在你新创建的文件下添加):

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

4、返回命令行,更新系统变量:

source ~/.profile

你可能感兴趣的:(系统)