windows下nodejs版本管理-nvm

Nodejs很多个版本,主要有两条更新主干,我称为大版本(比如Node.js v7.8.0)和小版本(比如Node.js v0.12.18)。详情更多版本可以看下官网:https://nodejs.org/en/download/releases/

最近在使用webpack@2.3.3,要求的Node版本是大版本(>=4.3.0 <5.0.0 || >=5.10)。之前一直使用的是百度fis,它要求的是小版本,所以机子装的一直都是小版本Node。现在需要共存两个版本以上,所以就需要用到版本管理了。今天在这里说一下windows的node版本管理工具nvm。

安装:

先去nvm的官方github下载最新版:https://github.com/coreybutler/nvm-windows/releases

因为安装后是需要配置PATH已经自定义其它PATH的,所以这里建议下载安装模式nvm-setup.zip(nvm-noinstall.zip是绿色免安装),安装是选的路径建议是 c:/nvm,如果按照默认的,安装后可能会出现各种情况。

安装到最后需要修改和配置PATH,如果你的电脑安装有360安全卫士等工具,可能会多次弹出提示,直接允许即可。

如果你机子本来已经安装有一个node版本,它也会检测到,并询问是否需要加入nvm控制,点击允许即可。

安装完后,启动cmd,输入nvm -v,查看到版本即安装成功。

使用:

nvm如何使用呢,很简单,3个命令就能帮你实现node版本管理:

nvm list

查看已经安装的node版本列表,并告诉你当前正在使用哪个版本

nvm install 6.10.2

安装指定版本,后面直接跟你想要安装的版本号即可

nvm use 6.10.2

切换当前版本,后面直接跟你想要使用的版本号即可

注意:

从安装到使用很简单,但是后面的深入使用,你还要有需要了解的地方。

你试想下,假如我机子安装了 v0.10.31和 v6.10.1两个版本,而当前使用的版本是v6.10.1,此时我用npm再去全局安装webpack最新版

npm install webpack -g

安装成功的webpack会在哪呢?一开始我以为是在npm下,发现安装了几次都看到npm目录下出现webpack,一度以为安装没成功。

当进入到nvm的安装路径看下,可以发现这里有加入管理的node版本。

进入各个版本的路径下,你会发现,每个版本对应都有一个npm

 

此时才明白,每个node的版本对应的npm版本也是不一样的,所以,nvm对node的版本管理实际已经包含了npm以及通过npm安装的全局包的管理。所以我在使用v6.10.1时安装的webpack以及其它依赖都是在nvm/v6.10.1下。

所以即使webpack是通过全局安装,当我切换到node.js v0.10.31版本时,webpack也是不存在的。

另外一种情况,假如我在安装nvm之前,已经安装了一些全局包,然后我在nvm安装后,再全局安装同样的包,这时候使用的包将会是哪个呢?也就是说优先级到底是 npm/xxx 下的高还是 nvm/(version)/xxx。我机子上刚好在nvm之前已经安装了fis3,我们来试下

在nvm下不存在fis3时:

然后切换到v.6.10.1再全局安装fis3,安装成功后nvm下已经存在fis3时:

发现fis3版本和路径都变了,但是好像路径又不是预期的那样,我们打开C:\Program Files,找到nodejs,发现nodejs文件夹变成了一个快捷方式:

而点击进去,指向的其实就是nvm当前版本下的路径

所以,使用nvm后,当前版本的依赖包的优先级会高。

本文由 w3cmark_前端笔记 版权所有,转载时请注明出处。
注明出处格式:w3cmark (http://www.w3cmark.com/2017/nodejs-version-nvm.html)

分享到:

关注w3cmark
微信公众号 w3cmark_com