用windows nvm安装npm,硬是装不上

自从换了电脑后,NodeJs版本一直用的18.20.2。前几天,业务说要调试一个老项目,该项目算是年久失修的老项目了,很少去动他,需要用到Node12.22.12。Node版本管工具就很有必要了,相应的工具也不少,如:nvm ,fnm ,nvs ,Volta等,其它的我不太熟,一直在用NVM。

windows上需要安装nvm-windows,是Golang开发的一个功能,安装倒是很方便。但是通过nvm安装node,也遇难解的问题。

1
2
3
4
5
6
7
8
9
D:\code\work\www>nvm install 12.22.10
Downloading node.js version 12.22.10 (64-bit)...
Complete
Downloading npm...
Creating C:\Users\www\AppData\Local\Temp\nvm-install-2072557948\temp

Downloading npm version 6.14.16... Complete
Installing npm v6.14.16...
error installing 12.22.10: open C:\Users\www\AppData\Local\Temp\nvm-npm-3127837976\npm-v6.14.16.zip: The system cannot find the file specified.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

nvm use 12.22.12

D:\code\work\www>npm
internal/modules/cjs/loader.js:818
throw err;
^

Error: Cannot find module 'node:path'
Require stack:
- C:\Users\wum02\AppData\Roaming\npm\node_modules\npm\lib\cli.js
- C:\Users\wum02\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
at Function.Module._load (internal/modules/cjs/loader.js:667:27)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (C:\Users\wum02\AppData\Roaming\npm\node_modules\npm\lib\cli.js:2:18)
at Module._compile (internal/modules/cjs/loader.js:999:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'C:\\Users\\wum02\\AppData\\Roaming\\npm\\node_modules\\npm\\lib\\cli.js',
'C:\\Users\\wum02\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js'
]
}

NodeJs安装好后,Npm一直安装失败。尝试了无数据都不行。然后去看了一下nvm的代码,nvm是通过创建系统符号链接来实现版本切换,其实执行nvm use时,就是查找root目录下把指定版本的nodejs文件路径创建一个软链接到环境变量的目录中,那么其实,我们把Nodejs下载并解压到root目录即可。

那就换了一种安装方式,不使用nvm install,去接去下载nodejs的压缩包,放置环境变量NVM_HOME的路径下面即可。这时候,我们就可以使用nvm use来选择nodejs的版本了。

如果在nvm use之后执行npm还报错,那么就删除环境变量NVM_SYMLINK路径下的nodejs这个文件夹,这个文件夹是一个软连接,删除后会将变量NVM_HOME路径下的nodejs给删掉,这时候,需要重新解压到该目录下再重新nvm use就可以了

用windows nvm安装npm,硬是装不上

https://blogs.52fx.biz/posts/3159002778.html

作者

eyiadmin

发布于

2025-04-29

更新于

2025-04-30

许可协议

评论