npm install -g报错:EACCES permission denied

两种解决方法:1.安装nvm 2.修改npm全局包的安装路径。

这篇官方文章写的很清楚https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

mac下亲测加sudo是没有用的。

 

我采取了官方推荐的第一种方法,安装nvm。安装办法在下面这篇官方文档中可以看到。

https://docs.npmjs.com/downloading-and-installing-node-js-and-npm

安装命令、可能出现的问题在nvm的git的readme的install里有,跟着做就可以。

我个人安装时输入的命令先后为:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
touch ~/.bash_profile # 解决安装不成功问题
nvm -version # 确认安装成功

nvm安装成功后

nvm install node # 该命令默认安装node最新版本

(细节步骤这位兄弟的博客写的更清楚:https://www.cnblogs.com/zhenqichai/p/npm-eacces-permission-error-fix.html

 

再次全局安装package,成功!

npm install expo-cli --global

 

 

另外:

为什么可以这么处理?

“To minimize the chance of permissions errors, you can configure npm to use a different directory”,而nvm正是对不同版本的node做了隔离。

那么是如何实现隔离的呢?(http://www.01happy.com/nodejs-nvm-use-and-principle/

一般大抵上这种软件的实现原理都是在一个目录下存放多个版本的目录,在切换时候将相应的版本路径加入PATH中。

不光是node命令,还有npm和通过npm安装的全局依赖库都会安装到指定的版本目录中,不必担心互相影响。

比如 在不同的node版本安装的PM2是两个独立的程序,启动后也是独立的进程,完全不影响。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值