npm全局安装包需要root权限问题
npm包安装问题
之前在家基本都是用Surface Pro 4所以基本也就没有安装Nodejs。今天晚上正好有点时间,就把老的Thinkpad T400拿出来,写点东西总结东东吧,要不一直不总结,埋头处理工作,感觉一直没有进步。
感觉还有好多东西没有写,SSH Local/Remote Proxy
,kubernetes环境搭建(not hard way)
,gitlab及runner在k8s里面搭建
,MyBatis学习
,这些东西下周的时间全要写下来吧,要不全都要忘记了。
npm在天朝第一步应该是用cnpm吧,这一点我还是蛮喜欢alibaba的,在国内搞了一些方便开发者的镜像。
1 | $ npm install -g cnpm --registry=https://registry.npm.taobao.org |
这里-g
就全局安装需要root权限,所以需要改下npm包管理的配置。
- 创建包安装目录
1 | mkdir ~/.npm-packages |
- 配置
npm
,将全局安装的包安装到上一步创建的目录
1 | echo "prefix=${HOME}/.npm-packages" >> ~/.npmrc |
- 配置环境
PATH
去正确目录查找npm
包和man
文件。将下面内容加入到~/.bashrc
或~/.zshrc
1 | NPM_PACKAGES="${HOME}/.npm-packages" |
- 更新环境
1 | source ~/.zshrc |
这个时候再去全局安装npm
包的话,就不需要root权限,直接将包安装到~/.npm-packages
目录下面了。
参考文章
Install npm packages globally without sudo on macOS and Linux
Resolving EACCES permissions errors when installing packages globally