node 多版本管理
在开发中,有时候对node的版本有要求,有时候需要切换到指定的node版本来重现问题等。遇到这种需求的时候,我们需要能够灵活的切换node版本。
这里我们使用nvm
工具来管理多版本node。
nvm的安装
安装步骤详细见https://github.com/creationix/nvm/blob/master/README.md
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
注意红圈圈出来的部分,意思是说你现在安装的全局npm包,当你通过nvm切换到新版本的时候,可能会用不了。如果出现了这种情况,直接重新安装就好了。注意通过nvm安装的node版本,使用npm install -g
的时候可以不适用sudo
。现在我们根据下面的提示重启命令行,来完成最终的安装。
然而还是报错了,命令找不到:
查看官方文档,发现给出了指引:
我本身已经有了.bash_profile
文件,在里面追加一行source ~/.bashrc
。
我这里使用vim
直接编辑,保存完成后,重启命令行。
安装成功。
配置nvm node镜像源加速
为了加速node的下载过程,我们在.bashrc
文件中增加如下配置
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
安装新的node版本
然后我们尝试更换一个lts版本的node。lts版本是会长期支持的版本,一般在生产环境使用的时候选择lts版本的node。也可以去掉lts参数,查看更多的版本。
nvm ls-remote --lts
nvm install v4.8.7
等待一会儿安装成功后。执行node -v
查看版本号已经是v4.8.7了。
切换node 版本
通过nvm ls
命令可以查看已经安装的版本。
nvm ls
前三行是已经安装的版本,左侧绿色箭头指向的就是当前使用的版本。下面的内容是nvm的内置的几个固定的别名(alias)。
- default nvm 默认使用的版本
- node和stable 当前安装的node的最新的稳定版本
- iojs iojs的最新稳定版本
- lts/* node lts 系列最新的稳定版本
- lts/argon,lts/boron,lts/carbon分别指lts的三个大的版本的最新版本
大家可以自行安装一下最新的lts/carbon
版本,然后再查看nvm ls的结果。
nvm install lts/carbon
我们可以用别名来切换版本,也可以使用版本号来切换。
nvm use lts/boron
不过这种方式切换node版本只能临时切换,当你开启新的terminal窗口的时候就失效了。如果要彻底的切换过来需要这么操作:
nvm alias default xxxx