node.js版本管理工具n无效的原理和解决方法
程序员文章站
2022-05-11 14:48:19
...
简介
n 是 node 的一个模块,可以用它来管理 node 的各种版本。类似 Python 中的 pyenv 和 Ruby 的 rbenv。n 的作者是著名的TJ大神。
通过 npm 安装 n:
$ npm install -g n
查看当前 node 版本:
$ node -v v4.2.4
通过 n 安装指定版本:
$ 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 版本:
$ node -v v4.2.4 #和原来一样
解决方法
如果你跟我一样,发现 node 版本没有任何变化,那最有可能的情况就是,你的node的安装目录和 n 默认的路径不一样。
查看 node 当前安装路径:
$ which node /opt/node/bin/node #举个例子
而 n 默认安装路径是 /usr/local,若你的 node 不是在此路径下,n 切换版本就不能把bin、lib、include、share 复制该路径中,所以我们必须通过N_PREFIX变量来修改 n 的默认node安装路径。
编辑环境配置文件:
vim ~/.bash_profile
将下面两行代码插入到文件末尾:
export N_PREFIX=/opt/node #node实际安装位置 export PATH=$N_PREFIX/bin:$PATH
:wq保存退出;
执行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
说明修改成功。