Node.js版本管理工具之_GNVM

Node.js包管理工具之_GNVM

1. 官网

GNVM - Node.js version manager on Windows by Go (ksria.com)

GNVM 使用 Go 语言编写的 Node.js 多版本管理器

GNVM 是一个简单的 Node.js 多版本管理器,类似 nvm nvmw nodist 。

2. 安装与使用

1. 安装

1. 不存在 Node.js 环境

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

2. 存在 Node.js 环境

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

2. gnmv基本使用

1. 查看所有命令及说明

C:\Users\23013>gnvm -h
Usage of gnvm:

Usage:
  gnvm [flags]
  gnvm [command]

Available Commands:
  config                    Setter and getter .gnvmrc file
  use                       Use any the local already exists of Node.js version
  ls                        Show all [local] [remote] Node.js version
  install                   Install any Node.js version
  uninstall                 Uninstall local Node.js version and npm
  update                    Update Node.js latest version
  npm                       NPM version management
  session                   Set any local Node.js version to session Node.js version
  search                    Search and Print Node.js version detail usage wildcard mode or regexp mode
  node-version              Show [global] [latest] Node.js version
  reg                       Add config property [noderoot] to Environment variable [NODE_HOME]
  version                   Print GNVM version number
  help [command]            Help about any command

 Available Flags:
      --help=false: help for gnvm

Use "gnvm help [command]" for more information about that command.

C:\Users\23013>

2. 安装指定的node版本

C:\Users\23013>gnvm install 20.11.0
Start download Node.js versions [20.11.0].
20.11.0: 98% [=================================================>_] 39s
--------
End download.

3. 查看所有已安装版本

C:\Users\23013>gnvm ls
Notice: gnvm.exe root is D:\devsoftware\nodejs\
v12.22.12
v14.19.1 -- x86
v14.21.3
v14.21.3 -- x86
v16.20.2
v18.16.0
v18.18.2
v18.19.0
v20.10.0 -- global
v20.10.0 -- x86
v20.11.0

C:\Users\23013>

4. 使用全局默认版本

# 安装 20.11.0版本
C:\Users\23013>gnvm use 20.11.0
Set success, global Node.js version is 20.11.0.
# 查看版本
C:\Users\23013>node -v
v20.11.0

C:\Users\23013>

5. 查看官网所有node与npm对应版本

命令gnvm search *.*.*


C:\Users\23013>gnvm search *.*.*
Search Node.js version rules [*.*.*] from http://npm.taobao.org/mirrors/node/index.json, please wait.
+--------------------------------------------------+
| No.   date         node ver    exec      npm ver |
+--------------------------------------------------+
  1     2024-01-22   21.6.1      x86 x64   10.2.4
  2     2024-01-14   21.6.0      x86 x64   10.2.4
  3     2023-12-19   21.5.0      x86 x64   10.2.4
  4     2023-12-05   21.4.0      x86 x64   10.2.4
  5     2023-11-30   21.3.0      x86 x64   10.2.4
  6     2023-11-14   21.2.0      x86 x64   10.2.3
  7     2023-10-24   21.1.0      x86 x64   10.2.0
  8     2023-10-17   21.0.0      x86 x64   10.2.0
  9     2024-01-09   20.11.0     x86 x64   10.2.4
  10    2023-11-22   20.10.0     x86 x64   10.2.3
  11    2023-10-24   20.9.0      x86 x64   10.1.0
  12    2023-10-13   20.8.1      x86 x64   10.1.0
  13    2023-09-28   20.8.0      x86 x64   10.1.0
  14    2023-09-18   20.7.0      x86 x64   10.1.0
  15    2023-09-07   20.6.1      x86 x64   9.8.1
  16    2023-08-23   20.6.0      x86 x64   9.8.1
  17    2023-08-09   20.5.1      x86 x64   9.8.0
  18    2023-07-19   20.5.0      x86 x64   9.8.0
  19    2023-07-04   20.4.0      x86 x64   9.7.2
  20    2023-06-20   20.3.1      x86 x64   9.6.7
  21    2023-06-08   20.3.0      x86 x64   9.6.7
  22    2023-05-16   20.2.0      x86 x64   9.6.6
  23    2023-05-03   20.1.0      x86 x64   9.6.4
  24    2023-04-17   20.0.0      x86 x64   9.6.4
  25    2023-04-10   19.9.0      x86 x64   9.6.3
  26    2023-03-15   19.8.1      x86 x64   9.5.1
  27    2023-03-14   19.8.0      x86 x64   9.5.1
  28    2023-02-21   19.7.0      x86 x64   9.5.0
  29    2023-02-16   19.6.1      x86 x64   9.4.0
  30    2023-02-01   19.6.0      x86 x64   9.4.0
  31    2023-01-24   19.5.0      x86 x64   9.3.1
  32    2023-01-05   19.4.0      x86 x64   9.2.0
  33    2022-12-14   19.3.0      x86 x64   9.2.0
  34    2022-11-29   19.2.0      x86 x64   8.19.3
  35    2022-11-14   19.1.0      x86 x64   8.19.3
  36    2022-11-04   19.0.1      x86 x64   8.19.2
  37    2022-10-17   19.0.0      x86 x64   8.19.2
  38    2023-11-29   18.19.0     x86 x64   10.2.3
  39    2023-10-13   18.18.2     x86 x64   9.8.1
  40    2023-10-10   18.18.1     x86 x64   9.8.1
  41    2023-09-18   18.18.0     x86 x64   9.8.1
  42    2023-08-08   18.17.1     x86 x64   9.6.7
  43    2023-07-18   18.17.0     x86 x64   9.6.7
  44    2023-06-20   18.16.1     x86 x64   9.5.1
  45    2023-04-12   18.16.0     x86 x64   9.5.1
  46    2023-03-05   18.15.0     x86 x64   9.5.0
  47    2023-02-21   18.14.2     x86 x64   9.5.0
  48    2023-02-16   18.14.1     x86 x64   9.3.1
  49    2023-02-01   18.14.0     x86 x64   9.3.1
  50    2023-01-05   18.13.0     x86 x64   8.19.3
  51    2022-11-04   18.12.1     x86 x64   8.19.2
  52    2022-10-25   18.12.0     x86 x64   8.19.2
  53    2022-10-13   18.11.0     x86 x64   8.19.2
  54    2022-09-28   18.10.0     x86 x64   8.19.2
  55    2022-09-23   18.9.1      x86 x64   8.19.1
  56    2022-09-07   18.9.0      x86 x64   8.19.1
  57    2022-08-24   18.8.0      x86 x64   8.18.0
  58    2022-07-26   18.7.0      x86 x64   8.15.0
  59    2022-07-13   18.6.0      x86 x64   8.13.2
  60    2022-07-06   18.5.0      x86 x64   8.12.1
  61    2022-06-16   18.4.0      x86 x64   8.12.1
  62    2022-06-02   18.3.0      x86 x64   8.11.0
  63    2022-05-17   18.2.0      x86 x64   8.9.0
  64    2022-05-03   18.1.0      x86 x64   8.8.0
  65    2022-04-18   18.0.0      x86 x64   8.6.0
  ........
  ........
  +--------------------------------------------------+

6. 查看指定前缀的node与npm对应版本

命令gnvm search 18.*.*

C:\Users\23013>gnvm search 18.*.*
Search Node.js version rules [18.*.*] from http://npm.taobao.org/mirrors/node/index.json, please wait.
+--------------------------------------------------+
| No.   date         node ver    exec      npm ver |
+--------------------------------------------------+
  1     2023-11-29   18.19.0     x86 x64   10.2.3
  2     2023-10-13   18.18.2     x86 x64   9.8.1
  3     2023-10-10   18.18.1     x86 x64   9.8.1
  4     2023-09-18   18.18.0     x86 x64   9.8.1
  5     2023-08-08   18.17.1     x86 x64   9.6.7
  6     2023-07-18   18.17.0     x86 x64   9.6.7
  7     2023-06-20   18.16.1     x86 x64   9.5.1
  8     2023-04-12   18.16.0     x86 x64   9.5.1
  9     2023-03-05   18.15.0     x86 x64   9.5.0
  10    2023-02-21   18.14.2     x86 x64   9.5.0
  11    2023-02-16   18.14.1     x86 x64   9.3.1
  12    2023-02-01   18.14.0     x86 x64   9.3.1
  13    2023-01-05   18.13.0     x86 x64   8.19.3
  14    2022-11-04   18.12.1     x86 x64   8.19.2
  15    2022-10-25   18.12.0     x86 x64   8.19.2
  16    2022-10-13   18.11.0     x86 x64   8.19.2
  17    2022-09-28   18.10.0     x86 x64   8.19.2
  18    2022-09-23   18.9.1      x86 x64   8.19.1
  19    2022-09-07   18.9.0      x86 x64   8.19.1
  20    2022-08-24   18.8.0      x86 x64   8.18.0
  21    2022-07-26   18.7.0      x86 x64   8.15.0
  22    2022-07-13   18.6.0      x86 x64   8.13.2
  23    2022-07-06   18.5.0      x86 x64   8.12.1
  24    2022-06-16   18.4.0      x86 x64   8.12.1
  25    2022-06-02   18.3.0      x86 x64   8.11.0
  26    2022-05-17   18.2.0      x86 x64   8.9.0
  27    2022-05-03   18.1.0      x86 x64   8.8.0
  28    2022-04-18   18.0.0      x86 x64   8.6.0
+--------------------------------------------------+

7. 查看给定体版本的node与npm对应版本

命令gnvm search 20.11.0

C:\Users\23013>gnvm search 20.11.0
Search Node.js version rules [20.11.0] from http://npm.taobao.org/mirrors/node/index.json, please wait.
+--------------------------------------------------+
| No.   date         node ver    exec      npm ver |
+--------------------------------------------------+
  1     2024-01-09   20.11.0     x86 x64   10.2.4
+--------------------------------------------------+

C:\Users\23013>

3. gnvm管理npm高版本问题

1. gnvm 安装npm

C:\Users\23013>gnvm npm 10.2.3
Notice: local    npm version is 8.19.4
Notice: remote   npm version is 10.2.3
Notice: download 10.2.3 version [Y/n]? Y
Start download new npm version v10.2.3.zip
v10.2.3.zip: 100% [==================================================>] 25s
Start unzip and install v10.2.3.zip zip file, please wait.
Set success, current npm version is 10.2.3.

2. 安装后查看版本时报错

C:\Users\23013>npm -v
D:\devsoftware\nodejs\node_modules\npm\lib\es6\validate-engines.js:31
    throw err
    ^

Error: Cannot find module '@npmcli/config'
Require stack:
- D:\devsoftware\nodejs\node_modules\npm\lib\npm.js
- D:\devsoftware\nodejs\node_modules\npm\lib\cli-entry.js
- D:\devsoftware\nodejs\node_modules\npm\lib\cli.js
- D:\devsoftware\nodejs\node_modules\npm\bin\npm-cli.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (D:\devsoftware\nodejs\node_modules\npm\lib\npm.js:2:16)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'D:\\devsoftware\\nodejs\\node_modules\\npm\\lib\\npm.js',
    'D:\\devsoftware\\nodejs\\node_modules\\npm\\lib\\cli-entry.js',
    'D:\\devsoftware\\nodejs\\node_modules\\npm\\lib\\cli.js',
    'D:\\devsoftware\\nodejs\\node_modules\\npm\\bin\\npm-cli.js'
  ]
}

Node.js v20.10.0
D:\devsoftware\nodejs\node_modules\npm\lib\es6\validate-engines.js:31
    throw err
    ^

Error: Cannot find module '@npmcli/config'
Require stack:
- D:\devsoftware\nodejs\node_modules\npm\lib\npm.js
- D:\devsoftware\nodejs\node_modules\npm\lib\cli-entry.js
- D:\devsoftware\nodejs\node_modules\npm\lib\cli.js
- D:\devsoftware\nodejs\node_modules\npm\bin\npm-cli.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
    at Module._load (node:internal/modules/cjs/loader:985:27)
    at Module.require (node:internal/modules/cjs/loader:1235:19)
    at require (node:internal/modules/helpers:176:18)
    at Object.<anonymous> (D:\devsoftware\nodejs\node_modules\npm\lib\npm.js:2:16)
    at Module._compile (node:internal/modules/cjs/loader:1376:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1435:10)
    at Module.load (node:internal/modules/cjs/loader:1207:32)
    at Module._load (node:internal/modules/cjs/loader:1023:12)
    at Module.require (node:internal/modules/cjs/loader:1235:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'D:\\devsoftware\\nodejs\\node_modules\\npm\\lib\\npm.js',
    'D:\\devsoftware\\nodejs\\node_modules\\npm\\lib\\cli-entry.js',
    'D:\\devsoftware\\nodejs\\node_modules\\npm\\lib\\cli.js',
    'D:\\devsoftware\\nodejs\\node_modules\\npm\\bin\\npm-cli.js'
  ]
}

Node.js v20.10.0
1. 问题原因分析

由于安装node版本与npm有差异,所以会出现这种错误

2. 解决方法

查阅了多种处理方法,npm install都无法使用,最终解决方式是下载指定版本的nodejs归档包,并拷贝里面的npm整个目录覆盖到本地解决

  1. 下载归档zip包,如 https://nodejs.org/download/release/v20.10.0/node-v20.10.0-win-x64.zip

  2. 找到本地的node安装目录,如:D:\devsoftware\nodejs\node_modules,并将D:\devsoftware\nodejs\node_modules中的npm目录删掉

  3. 从新下载的nodejs归档包中拷贝npm到本地对应的目录,如拷贝到D:\devsoftware\nodejs\node_modules
    法,npm install都无法使用,最终解决方式是下载指定版本的nodejs归档包,并拷贝里面的npm整个目录覆盖到本地解决

  4. 下载归档zip包,如 https://nodejs.org/download/release/v20.10.0/node-v20.10.0-win-x64.zip

  5. 找到本地的node安装目录,如:D:\devsoftware\nodejs\node_modules,并将D:\devsoftware\nodejs\node_modules中的npm目录删掉

  6. 从新下载的nodejs归档包中拷贝npm到本地对应的目录,如拷贝到D:\devsoftware\nodejs\node_modules

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值