Node.js包管理工具之_GNVM
文章目录
- Node.js包管理工具之_GNVM
- 1. 官网
- 2. 安装与使用
- 1. 安装
- 1. 不存在 Node.js 环境
- 2. 存在 Node.js 环境
- 2. gnmv基本使用
- 1. 查看所有命令及说明
- 2. 安装指定的node版本
- 3. 查看所有已安装版本
- 4. 使用全局默认版本
- 5. 查看官网所有node与npm对应版本
- 6. 查看指定前缀的node与npm对应版本
- 7. 查看给定体版本的node与npm对应版本
- 3. gnvm管理npm高版本问题
- 1. gnvm 安装npm
- 2. 安装后查看版本时报错
- 1. 问题原因分析
- 2. 解决方法
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 fileuse Use any the local already exists of Node.js versionls Show all [local] [remote] Node.js versioninstall Install any Node.js versionuninstall Uninstall local Node.js version and npmupdate Update Node.js latest versionnpm NPM version managementsession Set any local Node.js version to session Node.js versionsearch Search and Print Node.js version detail usage wildcard mode or regexp modenode-version Show [global] [latest] Node.js versionreg Add config property [noderoot] to Environment variable [NODE_HOME]version Print GNVM version numberhelp [command] Help about any commandAvailable Flags:--help=false: help for gnvmUse "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.0C:\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.0C:\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.42 2024-01-14 21.6.0 x86 x64 10.2.43 2023-12-19 21.5.0 x86 x64 10.2.44 2023-12-05 21.4.0 x86 x64 10.2.45 2023-11-30 21.3.0 x86 x64 10.2.46 2023-11-14 21.2.0 x86 x64 10.2.37 2023-10-24 21.1.0 x86 x64 10.2.08 2023-10-17 21.0.0 x86 x64 10.2.09 2024-01-09 20.11.0 x86 x64 10.2.410 2023-11-22 20.10.0 x86 x64 10.2.311 2023-10-24 20.9.0 x86 x64 10.1.012 2023-10-13 20.8.1 x86 x64 10.1.013 2023-09-28 20.8.0 x86 x64 10.1.014 2023-09-18 20.7.0 x86 x64 10.1.015 2023-09-07 20.6.1 x86 x64 9.8.116 2023-08-23 20.6.0 x86 x64 9.8.117 2023-08-09 20.5.1 x86 x64 9.8.018 2023-07-19 20.5.0 x86 x64 9.8.019 2023-07-04 20.4.0 x86 x64 9.7.220 2023-06-20 20.3.1 x86 x64 9.6.721 2023-06-08 20.3.0 x86 x64 9.6.722 2023-05-16 20.2.0 x86 x64 9.6.623 2023-05-03 20.1.0 x86 x64 9.6.424 2023-04-17 20.0.0 x86 x64 9.6.425 2023-04-10 19.9.0 x86 x64 9.6.326 2023-03-15 19.8.1 x86 x64 9.5.127 2023-03-14 19.8.0 x86 x64 9.5.128 2023-02-21 19.7.0 x86 x64 9.5.029 2023-02-16 19.6.1 x86 x64 9.4.030 2023-02-01 19.6.0 x86 x64 9.4.031 2023-01-24 19.5.0 x86 x64 9.3.132 2023-01-05 19.4.0 x86 x64 9.2.033 2022-12-14 19.3.0 x86 x64 9.2.034 2022-11-29 19.2.0 x86 x64 8.19.335 2022-11-14 19.1.0 x86 x64 8.19.336 2022-11-04 19.0.1 x86 x64 8.19.237 2022-10-17 19.0.0 x86 x64 8.19.238 2023-11-29 18.19.0 x86 x64 10.2.339 2023-10-13 18.18.2 x86 x64 9.8.140 2023-10-10 18.18.1 x86 x64 9.8.141 2023-09-18 18.18.0 x86 x64 9.8.142 2023-08-08 18.17.1 x86 x64 9.6.743 2023-07-18 18.17.0 x86 x64 9.6.744 2023-06-20 18.16.1 x86 x64 9.5.145 2023-04-12 18.16.0 x86 x64 9.5.146 2023-03-05 18.15.0 x86 x64 9.5.047 2023-02-21 18.14.2 x86 x64 9.5.048 2023-02-16 18.14.1 x86 x64 9.3.149 2023-02-01 18.14.0 x86 x64 9.3.150 2023-01-05 18.13.0 x86 x64 8.19.351 2022-11-04 18.12.1 x86 x64 8.19.252 2022-10-25 18.12.0 x86 x64 8.19.253 2022-10-13 18.11.0 x86 x64 8.19.254 2022-09-28 18.10.0 x86 x64 8.19.255 2022-09-23 18.9.1 x86 x64 8.19.156 2022-09-07 18.9.0 x86 x64 8.19.157 2022-08-24 18.8.0 x86 x64 8.18.058 2022-07-26 18.7.0 x86 x64 8.15.059 2022-07-13 18.6.0 x86 x64 8.13.260 2022-07-06 18.5.0 x86 x64 8.12.161 2022-06-16 18.4.0 x86 x64 8.12.162 2022-06-02 18.3.0 x86 x64 8.11.063 2022-05-17 18.2.0 x86 x64 8.9.064 2022-05-03 18.1.0 x86 x64 8.8.065 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.32 2023-10-13 18.18.2 x86 x64 9.8.13 2023-10-10 18.18.1 x86 x64 9.8.14 2023-09-18 18.18.0 x86 x64 9.8.15 2023-08-08 18.17.1 x86 x64 9.6.76 2023-07-18 18.17.0 x86 x64 9.6.77 2023-06-20 18.16.1 x86 x64 9.5.18 2023-04-12 18.16.0 x86 x64 9.5.19 2023-03-05 18.15.0 x86 x64 9.5.010 2023-02-21 18.14.2 x86 x64 9.5.011 2023-02-16 18.14.1 x86 x64 9.3.112 2023-02-01 18.14.0 x86 x64 9.3.113 2023-01-05 18.13.0 x86 x64 8.19.314 2022-11-04 18.12.1 x86 x64 8.19.215 2022-10-25 18.12.0 x86 x64 8.19.216 2022-10-13 18.11.0 x86 x64 8.19.217 2022-09-28 18.10.0 x86 x64 8.19.218 2022-09-23 18.9.1 x86 x64 8.19.119 2022-09-07 18.9.0 x86 x64 8.19.120 2022-08-24 18.8.0 x86 x64 8.18.021 2022-07-26 18.7.0 x86 x64 8.15.022 2022-07-13 18.6.0 x86 x64 8.13.223 2022-07-06 18.5.0 x86 x64 8.12.124 2022-06-16 18.4.0 x86 x64 8.12.125 2022-06-02 18.3.0 x86 x64 8.11.026 2022-05-17 18.2.0 x86 x64 8.9.027 2022-05-03 18.1.0 x86 x64 8.8.028 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:31throw 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.jsat 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:31throw 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.jsat 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整个目录覆盖到本地解决
下载归档zip包,如
https://nodejs.org/download/release/v20.10.0/node-v20.10.0-win-x64.zip
找到本地的node安装目录,如:
D:\devsoftware\nodejs\node_modules
,并将D:\devsoftware\nodejs\node_modules
中的npm目录删掉从新下载的nodejs归档包中拷贝npm到本地对应的目录,如拷贝到
D:\devsoftware\nodejs\node_modules
法,npm install都无法使用,最终解决方式是下载指定版本的nodejs归档包,并拷贝里面的npm整个目录覆盖到本地解决下载归档zip包,如
https://nodejs.org/download/release/v20.10.0/node-v20.10.0-win-x64.zip
找到本地的node安装目录,如:
D:\devsoftware\nodejs\node_modules
,并将D:\devsoftware\nodejs\node_modules
中的npm目录删掉从新下载的nodejs归档包中拷贝npm到本地对应的目录,如拷贝到
D:\devsoftware\nodejs\node_modules