利用nvm管理node版本(windows)
09 Dec 2016node
更新太快了,我在工作上正式用到node
的时候,这货还是0.11.0-
,现在一看,都7.x
了。但是又不能随时升级版本,尤其是当我们用着一些工具如fis
,项目用到csssprites
时,升级个node
分分钟给你warning
,可是现在新兴的工具,比如wept
微信小程序模拟器,低版本node,不支持。
于是我就搜索是否有node
版本管理工具,果然是有的,如nvm
。
用法很简单:
nvm list
输出本地已有的node
版本
nvm use version
切换当前node
版本
还有nvm install version
安装node版本
但是呢,不巧的是nvm
不支持windows
系统,那我白找了? 好在还有个window版本的nvm-windows
安装
直接下载安装包安装即可,并会提示选择node版本的安装路径
版本切换的大致原理
查看了一下环境变量的变化,原来的node
路径被清除了,取而代之的是%NVM_SYMLINK%
,这是一个新建的用户变量,举个例子,我在D盘下建了nv目录,NVM_SYMLINK
变量则设置了为 D:\nv\nodejs
,实际上nodejs
这个是一个快捷方式,其指向的是一个在用版本的路径。
什么是在用版本的路径呢? 新增的环境变量 %NVM_HOME%
,其指向的是NVM程序的目录,当使用nvm install
时,会将下载的node
安装到该目录,每一个版本就对应一个目录,而nvm use
切换到的版本目录目录,其实就是在用版本的路径了。
所以当用nvm
做版本切换时,大概就是改变那个nodejs
快捷方式的指向了,基本不需要变动到环境变量,而系统又能通过这个快捷方式找到对应的node
程序。
不过需要注意的是,当你新增一个版本时,其对应的npm
的全局安装路径,也是其版本目录,如果在安装nvm
时,就已经有node
的情况下,可能需要做一些环境变量与已安装模块的位置调整。
- 删除环境变量里
node
的原模块安装路径,不然可能会有程序寻址优先级问题。 - 调整原
node
的模块全局安装路径npm config set prefix "路径"
- 原先已安装的模块复制 或者 重装到新的路径下(后者我觉得比较靠谱)
在这次nvm-windows
使用中,我还收获了Environment Variables
这个环境变量管理工具,比原生工具实用多了。
安装完毕,于是我就开始装了7.1.0
以及6.0.0
,然而 fis
还是warning
. 还是乖乖用老版本node
吧 (捂脸)