node 版本管理工具 n 无效的原理及解决方案

n 是 node 的一个模块,能够用它来管理 node 的各类版本。相似 Python 中的 pyenv 和 Ruby 的 rbenv。n 的做者是著名的TJ大神。node

经过 npm 安装 n:linux

$ npm install -g n

查看当前 node 版本:npm

$ node -v
v4.2.4

经过 n 安装指定版本:vim

$ n 4.4.4
install : node-v4.4.4
       mkdir : /opt/node/n/versions/node/4.4.4
       fetch : https://nodejs.org/dist/v4.4.4/node-v4.4.4-linux-x64.tar.gz
###################################100.0%
   installed : v4.2.4

再查看当前 node 版本:bash

$ node -v
v4.2.4 #和原来同样

若是你跟我同样,发现 node 版本没有任何变化,那最有可能的状况就是,你的node的安装目录和 n 默认的路径不同。
查看 node 当前安装路径:fetch

$ which node
/opt/node/bin/node  #举个例子

而 n 默认安装路径是 /usr/local,若你的 node 不是在此路径下,n 切换版本就不能把bin、lib、include、share 复制该路径中,因此咱们必须经过N_PREFIX变量来修改 n 的默认node安装路径。code

编辑环境配置文件:io

vim ~/.bash_profile

将下面两行代码插入到文件末尾:变量

export N_PREFIX=/opt/node #node实际安装位置
export PATH=$N_PREFIX/bin:$PATH

:wq保存退出;ejs

执行source使修改生效。

$ source ~/.bash_profile

确认一下环境变量是否生效:

echo $N_PREFIX
/opt/node

这时候咱们须要从新安装:

$ n 4.4.4
install : node-v4.4.4
       mkdir : /opt/node/n/versions/node/4.4.4
       fetch : https://nodejs.org/dist/v4.4.4/node-v4.4.4-linux-x64.tar.gz
##############100.0%
   installed : v4.4.4

再查看当前 node 版本:

$ node -v
v4.4.4

说明修改为功。

若有帮助,请点下方 “推荐” 按钮。

相关文章
相关标签/搜索