如何在CentOS 7.4中永久保留Node.js v6.9.1版本?
解决CentOS 7.4下nvm切换Node.js版本重启后失效的问题
嘿,我来帮你搞定这个头疼的问题!你现在遇到的情况是,nvm use只是临时激活了v6.9.1版本,一旦重启终端或者退出登录,shell重新加载环境变量后,就会回到你用yum装的系统默认Node.js(v6.12.2)。下面是具体的解决步骤,亲测有效:
1. 把v6.9.1设为nvm全局默认版本
这是核心操作,执行这条命令后,每次启动终端都会自动加载这个版本:
nvm alias default v6.9.1
执行完可以马上验证一下:
nvm current
正常会输出v6.9.1,你现在可以重启终端,再敲node -v看看,应该已经是你要的版本了。
2. 确认nvm在shell启动时自动加载
你之前执行过source ~/.bash_profile让nvm生效,但得确保~/.bash_profile里已经正确添加了nvm的初始化代码,不然重启后nvm本身都不会加载:
打开文件检查:
vi ~/.bash_profile
里面应该有类似这样的内容:
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
如果没有的话,手动把上面这段代码加进去,保存退出后执行source ~/.bash_profile让它生效。
3. 可选:卸载系统自带的Node.js(彻底避免冲突)
如果你不需要保留yum安装的v6.12.2,可以直接卸载它,这样就不会再有版本混淆的问题了:
sudo yum remove nodejs npm -y
卸载完重启终端,就可以完全用nvm来管理Node版本啦。
补充一句:nvm的alias default命令是关键,它会在nvm的初始化脚本里标记默认加载的版本,这样每次shell启动时nvm都会自动帮你切换过去,再也不用每次手动敲nvm use了。
内容的提问来源于stack exchange,提问作者user285594
相关产品推荐
相关产品推荐

