n 切换 node 版本无效

最近一不小心将node环境装坏了,遂又从官网下载最新版node安装,再进行安装 node 版本管理工具n后,如下切换

mac

n   --回车
    node/10.13.0
  ο node/10.15.3
    node/11.0.0
    node/11.8.0
    node/12.2.0

查看node版本

node -v
v10.15.3

可是再切回12.2.0

n   --回车
    node/10.13.0
    node/10.15.3
    node/11.0.0
    node/11.8.0
  ο node/12.2.0

查看node版本

node -v
v10.15.3

感觉一头雾水。。。
遂进入 n 的安装位置查看

cd /usr/local/n        --进入 n 的安装位置
ls                     --查看当前文件夹内容
versions
cd versions            --进入versions文件夹
ls                     --再查看文件夹内容
io   node
cd node                --进入node文件夹
ls                     --再查看文件夹内容
10.13.0 10.15.3 11.0.0  11.8.0

再看之前使用 n 切换node的选项

n   --回车
    node/10.13.0
    node/10.15.3
    node/11.0.0
    node/11.8.0
  ο node/12.2.0

发现文件夹内没有12.2.0这个版本
于是先使用n的命令将12.2.0版本删除

n rm 12.2.0

再查看切换版本时的选择

n   --回车
    node/10.13.0
  ο node/10.15.3
    node/11.0.0
    node/11.8.0

12.2.0版本没有了

然后使用 n 安装最新版本node

sudo n latest

再查看切换版本时的选择

n   --回车
    node/10.13.0
    node/10.15.3
    node/11.0.0
    node/11.8.0
  ο node/12.2.0

发现12.2.0安装成功,选中12.2.0版本
再查看 node 版本

node -v
v12.2.0

至此,环境终于又好了!

步骤总结

在 mac 上边只需要使用 n 删除切换无效的版本,再安装就好了,以12.2.0版本为例

# 删除12.2.0版本
n rm 12.2.0
# 再安装12.2.0版本
n 12.2.0

linux

Ubuntu(18.04)

编辑环境配置文件:

vim ~/.bash_profile

将下面代码插入到文件末尾:

export NODE_HOME=/usr/local
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH

执行source使修改生效:

source ~/.bash_profile

再使用 n 切换,便能成功。

【参考文章】
https://www.jianshu.com/p/3033c300ce4b