之前在自己学习ubuntu电脑上搭建一个hexo博客时,发现npm install -g hexo-cli
居然出现
1 | ting@whtll:~$ npm install -g hexo-cli |
其实原因很简单的,npm会把二进制执行代码安装到${Node}/node_modules/,但是这么目类root拥有的,普通用户没有权限写的。我在网上查了下资料,大概有三种解决方法。
修改权限
直接将node_modules目类改成777,这个太暴力,也不安全,pass。
将目类拥有者改成当前普通用户,这个当时我自己当时想出来的办法,居然也是失败了😟。
重装NodeJs
很多网友推荐使用mvn教程重装Nodejs,直接执行xshell脚本安装mvn命令。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
重装Nodejs
nvm install node
其实这种方法也不是很完美的,如果做个Java都知道,这个maven的命令,但是这个mvn又不是maven来的,命令冲突了,pass。
正确处理方式
在
官方
发现有一个不错的处理方式,直接搬过来。
创建目录,用于存放npm 全局安装二进制执行文件
mkdir ~/.npm-global
配置npm以使用新的目录路径
npm config set prefix '~/.npm-global'
使用编辑器打开.bashrc文件设置环境变量,这个文件环境变量知道当前用户生效,添加下面这句话到文件结尾,保存退出。
export PATH=~/.npm-global/bin:$PATH
更新环境变量
source .bashrc
👌