使用GNVM
先放官方地址:https://github.com/kenshin/gnvm
这个项目最后一次代码提交还在2016年。作者的教程已经很明简明了,但是随着时间的流逝,会出现其他问题是作者没有提到的。我这里只是作为补充,也欢迎完善。
把GNVM.exe放到node.exe同级目录,上就是通过替换node.exe 来切换不同node版本。
感谢 Kenshin 写了这个工具!!!
环境
Windows10,64位,当前node最新版本为10.11.0
问题一:无权操作文件
1、在系统检索中,搜索“命令行提示符”
2、然后点击右键,使用管理员权限运行,再去执行命令。
我猜测是因为node安装的时候使用了系统管理员权限
问题二:文件被占用
因为项目经常一直跑着,忘了停,它在占用node.exe,关了就好了。不属于问题,但是经常忘了。
问题三:node版本不存在
作者在教程中提供了一个库的配置,这个库可能更新不及时。建议使用官方库或者淘宝库
我的配置贴一下
贴一下作者的git教程
GNVM 是一个简单的 Windows 下 Node.js 多版本管理器,类似的 nvm nvmw nodist 。
c:\> gnvm install latest 1.0.0-x86 1.0.0-x64 5.0.0
Start download Node.js versions [5.10.1, 1.0.0, 1.0.0-x86, 5.0.0].
5.10.1: 18% [=========>__________________________________________] 4s
1.0.0: 80% [==========================================>_________] 40s
1.0...: 50% [==========================>_________________________] 30s
5.0.1: 100% [==================================================>] 20s
End download.
c:\> gnvm ls
5.1.1 -- latest
1.0.0
1.0.0 -- x86
5.0.0 -- global
c:\> gnvm use latest
Set success, current Node.js version is 5.10.0.
c:\> gnvm update latest
Update success, current Node.js latest version is 5.10.0.
参考官方地址:
http://ksria.com/gnvm
https://github.com/Kenshin/gnvm
已经安装了git的用户,使用
git clone git@github.com:Kenshin/gnvm-bin.git
安装
下载ngvm,地址https://github.com/Kenshin/gnvm-bin/blob/master/64-bit/gnvm.exe
不存在 Node.js 环境
把下载下来gnvm.exe 保存到任意文件夹,并将此文件夹加入到环境变量 Path 。
存在 Node.js 环境
安装过node且已加入环境变量 把下载下来的gnvm.exe放到node.exe所在的目录下
验证
在 cmd 下,输入 gnvm version,输出 版本说明 则配置成功。
功能
config 配置 .gnvmrc
use 使用某个本地已存在的 Node.js 版本
ls 输出 [local] [remote] Node.js 版本
install 下载/安装任意已知版本的 Node.js
uninstall 删除任意本地已存在的 Node.js
update 下载 Node.js latest 版本并更新到 .gnvmrc 里面
npm NPM 下载/安装/删除 管理
session 临时设定本地某个已存在的 Node.js 为 全局 Node.js
search 查询并且输出符合查询条件的 Node.js 版本详细信息的列表
node-version 输出 [global] [latest] Node.js 版本
reg 设定 .gnvmrc 属性值 [noderoot] 为 环境变量 [NODE_HOME],并加入到 Path 中
version 查看 gnvm 版本
help [command] 关于任何命令的帮助
gnvm [command]
Available Commands:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MNT2mU8J-1571890221879)(http://i.imgur.com/E7MvvQv.png)]
术语
global 当前使用的 Node.js 。
latest 稳定版本的 Node.js 。
session 当前 cmd 所对应的环境。(临时环境)
.gnvmrc gnvm配置文件,无需手动建立,其中保存了 本地 / 远程 Node.js 版本信息等。
registry 下载 node.exe 所对应的库,默认为 DEFAULT,可以更换为 TAOBAO,也支持自定义。(自定义库的结构需要保持一致。)
noderoot 保存了全局 Node.js 所在的目录。(也是 gnvm.exe 所在的目录。)
入门指南
gnvm.exe 是一个单文件 exe,无需任何配置,直接使用。
.gnvmrc
globalversion: 5.0.1
latestversion: 5.10.1
noderoot: /Users/kenshin/Work/28-GO/01-work/src/gnvm
registry: http://npm.taobao.org/mirrors/node/
更换更快的库 registry
gnvm.exe 内建了 DEFAULT 和 TAOBAO 两个库。
gnvm config registry TAOBAO
使用gnvm安装node
1、初始化gnvm
gnvm config INIT
安装 多个 Node.js
gnvm 4.4.0 6.9.2 7.3.0
安装任意版本的 Node.js 包括: 自动匹配 latest / io.js version 以及 选择 32 / 64 位,例如 x.xx.xx-x64 。
gnvm install latest 1.0.0-x86 1.0.0-x64 5.0.0
卸载本地任意 Node.js 版本
gnvm uninstall latest 1.0.0-x86 1.0.0-x64 5.0.0
切换本地存在的任意版本 Node.js
gnvm use 5.10.1
列出本地已存在的全部 Node.js 版本
c:\> gnvm ls
5.1.1 -- latest
1.0.0
1.0.0 -- x86
5.0.0 -- global
更新本地的 Node.js latest 版本
gnvm update latest
安装 NPM
gnvm 支持安装 npm, 例如:下载最新版的 npm version ,使用 gnvm npm latest 。
gnvm npm latest
查询 Node.js 版本
可以使用关键字 * 或者 正则表达式 /regxp/,例如: gnvm search 5.*.* 或者 gnvm search /.10./ 。
c:\> gnvm search 5.*.*
Search Node.js version rules [5.x.x] from http://npm.taobao.org/mirrors/node/index.json, please wait.
+--------------------------------------------------+
| No. date node ver exec npm ver |
+--------------------------------------------------+
1 2016-04-05 5.10.1 x86 x64 3.8.3
2 2016-04-01 5.10.0 x86 x64 3.8.3
3 2016-03-22 5.9.1 x86 x64 3.7.3
4 2016-03-16 5.9.0 x86 x64 3.7.3
5 2016-03-09 5.8.0 x86 x64 3.7.3
6 2016-03-02 5.7.1 x86 x64 3.6.0
7 2016-02-23 5.7.0 x86 x64 3.6.0
+--------------------------------------------------+
例子
1. 不存在 Node.js 环境时,下载 Node.js latest version 并设置为全局 Node.js 。
c:\> gnvm config registry TAOBAO
Set success, registry new value is http://npm.taobao.org/mirrors/node/
c:\> gnvm install latest -g
Notice: local latest version is unknown.
Notice: remote latest version is 5.10.1.
Start download Node.js versions [5.10.1].
5.10.1: 100% [==================================================>] 13s
End download.
Set success, latestversion new value is 5.10.1
Set success, global Node.js version is 5.10.1.
2. 升级本地 Node.js latest 版本。
c:\> gnvm config registry TAOBAO
Set success, registry new value is http://npm.taobao.org/mirrors/node/
c:\> gnvm update latest
Notice: local Node.js latest version is 5.9.1.
Notice: remote Node.js latest version is 5.10.1 from http://npm.taobao.org/mirrors/node/.
Waring: remote latest version 5.10.1 > local latest version 5.9.1.
Waring: 5.10.1 folder exist.
Update success, Node.js latest version is 5.10.1.
3. 查看本地 Node.js global and latest 版本。
c:\> gnvm node-version
Node.js latest version is 5.10.1.
Node.js global version is 5.10.1.
4. 验证 .gnvmrc registry 正确性。
c:\> gnvm config registry test
Notice: gnvm config registry http://npm.taobao.org/mirrors/node/ valid ................... ok.
Notice: gnvm config registry http://npm.taobao.org/mirrors/node/index.json valid ......... ok.
5. 本地不存在 NPM 时,安装当前 Node.js 版本对应的 NPM 版本。
c:\ gnvm npm global
Waring: current path C:\xxx\xxx\nodejs\ not exist npm.
Notice: local npm version is unknown
Notice: remote npm version is 3.8.3
Notice: download 3.8.3 version [Y/n]? y
Start download new npm version v3.8.3.zip
v3.8.3.zip: 100% [==================================================>] 4s
Start unzip and install v3.8.3.zip zip file, please wait.
Set success, current npm version is 3.8.3.
c:\> npm -v
3.8.7
6. 安装 NPM latest 版本。
c:\ gnvm npm laltest
Notice: local npm version is 3.7.3
Notice: remote npm version is 3.8.7
Notice: download 3.8.7 version [Y/n]? y
Start download new npm version v3.8.7.zip
v3.8.7.zip: 100% [==================================================>] 3s
Start unzip and install v3.8.7.zip zip file, please wait.
Set success, current npm version is 3.8.7.
c:\> npm -v
3.8.7