node.js版本管理工具n无效的原理和解决方法
投稿:daisy
大家都知道在Centos中一般需要根据项目的环境安装指定版本的Node, 而现有的yum源版本一般不够全面也不一定找的到所需要的指定版本, 此时就必须自行下载Node源码进行编译安装了,如果你在使用node.js版本管理工具n的时候发现工具无效,下面就来看看这篇文章的解决方法吧。
简介
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
说明修改成功。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。