• Stars
    star
    673
  • Rank 66,783 (Top 2 %)
  • Language
    Go
  • Created over 10 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Node.js version manager on Windows by GO

logo GNVM - Node.js 多版本管理器

Travis Version Gitter Slack Jianliao

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.

特色

  • 单文件,不依赖于任何环境。
  • 下载即用,无需配置。
  • 彩色日志输出。
  • 支持多线程下载。
  • 内置 TAOBAO,方便切换,也支持自定义。
  • 支持 NPM 下载/安装/配置。

主页

Website

文档

English | 繁體中文

下载

  • 32-bit | 64-bit 常用地址,Box,速度稍慢

  • 32-bit | 64-bit 备用地址,百度网盘,速度快

  • 32-bit | 64-bit 备用地址,Github

  • 已经安装了go的用户,使用
    go get github.com/Kenshin/gnvm

  • 已经安装了git的用户,使用
    git clone [email protected]:Kenshin/gnvm-bin.git

  • 已经安装了curl的用户,使用
    curl -L https://github.com/Kenshin/gnvm-bin/blob/master/32-bit/gnvm.exe?raw=true -o gnvm.exe
    curl -L https://github.com/Kenshin/gnvm-bin/blob/master/64-bit/gnvm.exe?raw=true -o gnvm.exe

安装

  • 不存在 Node.js 环境

    下载并解压缩 gnvm.exe 保存到任意文件夹,并将此文件夹加入到环境变量 Path

  • 存在 Node.js 环境

    下载并解压缩 gnvm.exe 保存到 Node.js 所在的文件夹。

验证

  • 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 版本

功能一览

术语

  • 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 内建了 DEFAULTTAOBAO 两个库。

gnvm config registry TAOBAO

安装 多个 Node.js

安装任意版本的 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

依赖

第三方包

下一步

  • 增加 HTTP_PROXY
  • 自动升级,例如 gnvm upgrad .
  • gnvm.exe 增加 Chocolatey 方案。
  • 支持多系统。( MAC, Linux

相关链接

感谢

许可

license-badge

More Repositories

1

simpread

简悦 ( SimpRead ) - 让你瞬间进入沉浸式阅读的扩展
JavaScript
7,325
star
2

simptab

简 Tab ( SimpTab ) - 极简的 Chrome 新标签页扩展,望你每次打开都有好心情。
JavaScript
697
star
3

simpread-little

简悦( SimpRead ) · 轻阅版
JavaScript
316
star
4

emoji

🎉 一个简单、可靠、纯粹、中文语义化的 Emoji 扩展 😎
JavaScript
94
star
5

simpread-configs

简悦配置库
HTML
54
star
6

asgard

AsGard -- 基于Node.js的开源、小型、多人日志系统
JavaScript
43
star
7

sov2ex

sov2ex - 一个便捷的 v2ex 站内搜索引擎
JavaScript
38
star
8

curl

Multiple download lib with CLI by Golang
Go
33
star
9

simpread-obsidian-plugin

Obsidan Plugin: Simpread annote sync
JavaScript
32
star
10

silvergreen

Adobe Flex Theme base on 4.6.x namde SilverGreen
ActionScript
16
star
11

gnvm-bin

Node.js version manager on Windows by GO -- binary
16
star
12

cprint

ANSI coloured text to the standard output on by Golang
Go
14
star
13

node-xml2json

XML2JSON for Node.js
JavaScript
13
star
14

node-zblog

zblog api for Node.js
JavaScript
8
star
15

fxblog

the Flex Blog base on Adobe Flex SDK
ActionScript
8
star
16

simpread-actions

SimpRead Actions
JavaScript
7
star
17

node-pagination

Pagination Node.js Library
JavaScript
7
star
18

flex-pagination

Paginaton UI base on Flex
ActionScript
5
star
19

js-pagination

Pagination JavaScript Library
JavaScript
5
star
20

cordova-toast

PhoneGap Toast for cordova
Java
3
star
21

as-pagination

Pagination Actionscript 3.0 Library
ActionScript
3
star
22

simpread-chatgpt-helper

ChatGPT 助手 with 简悦
JavaScript
2
star
23

simpread-obsidian

SimpRead Sync Unreader to Obisidan
JavaScript
2
star
24

simpclip

Simple Clip
HTML
2
star
25

simptab-jsbox

SimpTab with JSBox
JavaScript
2
star
26

atlanta

new zblog user node-api
1
star
27

ember-bridge-jqm

Ember.js Bridge jQuery Mobile
JavaScript
1
star
28

install-apache-flex

Install Apache Flex SDK use AIR
ActionScript
1
star
29

mduikit

Google Materail Design Component Kit
1
star
30

simptab-server

SimpTab with Server
JavaScript
1
star
31

simpread-wiki

1
star