windows用nvm管理nodejs

问题: 项目需要的版本号: node v14.17.2 npm -v 6.14.13 本机带的node版本号: node v16.14.2 npm 8.5.0 有什么办法能把这两个都管理起来,用到哪个切换到哪个么?
解决方案,安装nvm管理

一. 卸载原有nodejs

  1. 清空缓存: npm cache clean --force

    验证是否清空: npm cache verify

typescript 复制代码
C:\WINDOWS\system32>npm cache verify
Cache verified and compressed (D:\soft\nodejs\node_cache\_cacache)
Content verified: 0 (0 bytes)
Index entries: 0
Finished in 0.031s

执行后如果输出类似 Cache verified and compressed (0 bytes) 或 Cache is clean 之类的内容,就说明缓存已经完全清空了。

  1. 控制面板删除nodejs
  2. 系统设置删除关于nodejs的配置
  3. 删除全局 node_global node_cache文件夹

二. 安装nvm

  1. 安装包地址

https://github.com/coreybutler/nvm-windows/releases

各种下一步,将nvm和nodejs的安装路径记录下来,后续有用

检查: nvm list available

typescript 复制代码
C:\WINDOWS\system32>nvm list available
|   CURRENT    |     LTS      |  OLD STABLE  | OLD UNSTABLE |
|--------------|--------------|--------------|--------------|
|    25.4.0    |   24.13.0    |   0.12.18    |   0.11.16    |
|    25.3.0    |   24.12.0    |   0.12.17    |   0.11.15    |
......
|    24.0.0    |   22.11.0    |   0.10.48    |    0.9.10    |
This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases

说明安装成功

注意:这里 nvm list available 输出的所有版本号,全部都是 Node.js 的版本号,不是 nvm-windows 本身的版本,也不是 npm 的版本。

三. 安装自己需要的nodejs版本

例如我这里要下载 node v14.17.2

这里两个方案,全部看完后,请自行选择

方案一: 直接用超管打开cmd 输入

nvm install 14.17.2

这里我用不了

原因一:

一直在下载,下载不下来nodejs

解决方案: 打开nvm安装目录,找到settings.txt,将下列两个镜像追加到文件中

typescript 复制代码
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

解决了下载问题

但还有原因二:

typescript 复制代码
C:\WINDOWS\system32>nvm install 14.17.2
Downloading node.js version 14.17.2 (64-bit)...
Complete
Downloading npm...
Creating C:\WINDOWS\TEMP\nvm-install-2229972276\temp
.
Downloading npm version 6.14.13... Complete
Installing npm v6.14.13...
error installing 14.17.2: open C:\WINDOWS\TEMP\nvm-npm-2518182551\npm-v6.14.13.zip: The system cannot find the file specified.

核心原因还是 系统临时目录(C:\WINDOWS\TEMP)的权限 / 访问问题

所以这里我选方案二

方案二: 直接手动下载nodejs.zip文件,放到nvm安装文件夹中
  1. 下载对应包:

地址: https://npmmirror.com/mirrors/node/v14.17.2/node-v14.17.2-win-x64.zip

  1. 将zip包解压到 nvm 目录

在nvm 安装目录下新建文件夹,命名为nodejs版本号,例如我的叫 v14.17.2(必须严格这个名字,和版本号对应)

  1. 文件对应

把下载的 node-v14.17.2-win-x64.zip 解压到 nvm 安装目录下的 v14.17.2文件夹里(解压后,v14.17.2 文件夹里能看到 node.exe、npm.cmd 等文件)。

验证: 以管理员身份打开 cmd,执行 nvm list

typescript 复制代码
C:\WINDOWS\system32>nvm list

    14.17.2

我这里说明已经将nodejs归在nvm控制下,需要更多的版本就用此方法一个个添加

为什么这个方法能解决?

手动安装跳过了 nvm 「下载 npm → 存到系统临时目录 → 解压」的环节,直接把完整的 Node.js(自带 npm)放到 nvm 管理目录里,nvm 只需要做「版本切换」的核心工作,完全避开了临时目录的权限问题。

四. 版本切换

我这里需要切换到 14.17.2 版本: nvm use 14.17.2

typescript 复制代码
C:\WINDOWS\system32>nvm use 14.17.2
Now using node v14.17.2 (64-bit)

验证是否成功 node -v

typescript 复制代码
C:\WINDOWS\system32>node -v
v14.17.2

C:\WINDOWS\system32>npm -v
6.14.13
相关推荐
用户672465366053 小时前
Node 守护进程日志转发踩坑记:stdio 管道、UTF-8 截断,和一个字符串按值传参的故事
node.js
coderCN4 小时前
Nodejs express+knex(ORM框架)
前端·node.js
coderCN4 小时前
Nodejs mysql2+express+yaml
node.js
烬羽4 小时前
我把"时间胶囊"部署上腾讯云宝塔,跨域从根源消失了
nginx·node.js·全栈
草莓熊Lotso6 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
东风破_13 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
东风破_14 小时前
danci 项目(三):从 JSON 数据到 AI Coding,真实项目里的数据清洗、Prompt 和工程规范
前端·后端·node.js
东风破_14 小时前
danci 项目(一):从需求到架构,一个单词学习系统为什么会这样设计
前端·后端·node.js
__zRainy__20 小时前
Node系列 · Express:常用的中间件
中间件·node.js·express
时寒的笔记21 小时前
jsvmp04_某yuan宝日志还原rc4
node.js