无需调用nvm切换Node版本的方法求助(Angular升级导致nvm故障)
无需调用nvm切换Node版本的方法求助(Angular升级导致nvm故障)
哥们,太懂你这种nvm搞崩终端的糟心感了!先别慌,咱们不用nvm也能快速切换到你已经安装的Node 16,先把当前的问题解决掉:
第一步:确认Node 16的安装路径
先找到你之前安装的Node 16在哪,打开终端运行(需要的话加sudo):
find / -name "node" -type f | grep 16
运行后会输出类似/usr/local/node-v16.20.2/bin/node这样的路径,记下来这个目录(比如上面的就是/usr/local/node-v16.20.2/bin)。
方法一:临时切换(仅当前终端有效)
直接把Node 16所在的目录加到环境变量PATH最前面,这样终端会优先找这个目录里的node命令:
export PATH=/你的Node16目录:$PATH
比如刚才的例子就是:
export PATH=/usr/local/node-v16.20.2/bin:$PATH
现在运行node --version就能看到是16版本了,npm也会同步切换。
方法二:永久切换(所有终端生效)
因为你之前删了.bashrc,现在可以重新创建它,把上面的export命令加进去:
- 打开
.bashrc文件:
nano ~/.bashrc
- 在文件末尾添加那行
export PATH=...命令,保存退出(按Ctrl+O,回车,再按Ctrl+X)。 - 让修改立即生效:
source ~/.bashrc
之后每次打开终端,默认都是Node 16了。
方法三:用系统自带的版本管理工具(适合apt安装的Node)
如果你是通过Ubuntu的apt包管理器安装的不同Node版本,可以用update-alternatives来管理:
- 先把Node 16注册到系统版本列表里(替换成你的Node16路径):
sudo update-alternatives --install /usr/bin/node node /usr/bin/node16 100
这里的100是优先级,数字越大越优先。
2. 然后切换版本:
sudo update-alternatives --config node
终端会列出所有已注册的Node版本,输入对应Node16的编号回车,就完成切换了。
额外提下nvm的恢复(如果你之后想用回来)
等你搞定Node版本后,如果想恢复nvm,只需要把nvm的初始化命令重新加到.bashrc里就行:
echo "source ~/.nvm/nvm.sh" >> ~/.bashrc source ~/.bashrc
这样nvm就能正常使用了。
备注:内容来源于stack exchange,提问作者Michael Casile
相关产品推荐
相关产品推荐

