Windows下Node.js如何使用nvm管理多版本

 更新时间:2025年05月04日 09:34:18   作者:江湖有缘  
Node Version Manager(nvm)是专为Windows设计的Node.js版本管理工具,所以本文我们就来看看Windows系统下Node.js如何使用nvm进行多版本吧

一、Node.js介绍

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,用于开发高性能、可扩展的服务器端和网络应用程序。它采用事件驱动、非阻塞 I/O 模型,使其在处理高并发场景时表现出色,特别适合构建实时应用(如聊天工具)和数据密集型服务。Node.js 拥有庞大的生态系统,通过 NPM(Node Package Manager)提供了丰富的开源库和工具,极大地提升了开发效率。无论是构建 Web 服务器、API 接口,还是开发前端工具链,Node.js 都展现出了强大的灵活性和广泛的应用场景。

二、为什么需要nvm

**Node Version Manager(nvm)**是专为Windows设计的Node.js版本管理工具,可解决以下痛点:

版本切换:不同项目依赖不同Node.js版本(如14.x用于老项目,20.x用于新项目)

权限控制:避免全局安装导致系统目录污染

快速回滚:一键切换稳定版/测试版,应对版本兼容性问题

三、安装前的准备工作

1. 本次环境说明

本次实践环境为Windows10 ,具体版本如下所示:

版本    Windows 10 专业版
版本号    22H2
安装日期    ‎2021/‎5/‎1
操作系统内部版本    19045.5737
体验    Windows Feature Experience Pack 1000.19061.1000.0

2. 卸载现有Node.js(如有)

  • 控制面板 ➔ 卸载程序 ➔ 找到Node.js并卸载
  • 手动删除残留文件:
    • C:\Program Files\nodejs
    • C:\Users\你的用户名\AppData\Roaming\npm

三、nvm-windows安装步骤

1. 下载安装包

访问GitHub Releases,下载最新版nvm-setup.exe

2. 安装过程

  • 右键选择以管理员身份运行安装程序
  • 设置安装路径(建议使用默认C:\Users\用户名\AppData\Roaming\nvm
  • 配置Node.js符号链接路径(建议C:\Program Files\nodejs

3. 验证安装

打开新的CMD窗口,执行以下命令后,应显示版本号如1.1.12

nvm version 

四、使用nvm管理Node.js环境

1. 安装指定版本Node.js

nvm list available  # 查看所有可用版本
nvm install 20.14.0  # 安装LTS版本

2. 版本切换与使用

查看已安装版本

nvm list     

执行以下命令,启用nvm管理。

nvm on 

其余命令参考:

nvm use 20.14.0    # 切换到指定版本
nvm off            # 停用nvm管理

3. 配置镜像加速(针对国内用户)

在nvm安装目录下的settings.txt中添加,这里默认路径为C:\Users\admin\AppData\Local\nvm

node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

4. 检查npm版本

检查Windows当前npm版本

npm -v

五、常见问题解决方案

1. nvm命令无效

检查环境变量:

  • NVM_HOME ➔ C:\Users\用户名\AppData\Roaming\nvm
  • NVM_SYMLINK ➔ C:\Program Files\nodejs

确保路径已添加到Path变量

2. 安装时报错Exit code 1

关闭杀毒软件/防火墙

清理缓存:

nvm root clear

3. npm全局包路径冲突

修改npm全局安装路径:

npm config set prefix "C:\Users\用户名\npm-global"

并在环境变量Path中添加该路径

六、最佳实践建议

1.项目级版本锁定

在项目根目录创建.nvmrc文件:

20.14.0

执行nvm use自动切换版本

2.多版本并行开发

nvm install 18.19.1 --arch=x64  # 指定架构安装
nvm use 18.19.1 && node app.js  # 运行旧版项目

3.结合Docker使用(进阶)

在容器中固定Node版本,避免环境差异:

FROM node:20.14.0-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["node", "index.js"]

七、总结

通过本次实践,我们学习了如何在Windows系统下利用nvm有效地管理和切换多个Node.js版本,极大地方便了开发环境的配置与维护。过程中解决了诸如nvm命令无效和npm全局包路径冲突等常见问题,确保了Node.js环境的稳定运行。遵循最佳实践建议,可以进一步优化开发流程,提高工作效率,为项目的顺利进行奠定坚实基础。

以上就是Windows下Node.js如何使用nvm管理多版本的详细内容,更多关于nvm管理多版本node.js的资料请关注脚本之家其它相关文章!

相关文章

  • nodejs简单实现操作arduino

    nodejs简单实现操作arduino

    本文给大家分享的是使用nodejs来驱动arduino,主要是基于cylonjs 和 gort,有需要的小伙伴可以参考下
    2016-09-09
  • node.js实现带进度条的多文件上传

    node.js实现带进度条的多文件上传

    这篇文章主要为大家详细介绍了node.js实现携带进度条的多文件上传,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Node.js使用Streams来处理文件读写操作的示例代码

    Node.js使用Streams来处理文件读写操作的示例代码

    在Node.js中,Streams 提供了一种高效的方式来处理文件的读写操作,特别是对于大文件或数据流,Streams 允许你以流的方式读写数据,这意味着数据可以分块处理,本文介绍了在Node.js中如何使用Streams来处理文件读写操作,需要的朋友可以参考下
    2024-09-09
  • nodejs中express入门和基础知识点学习

    nodejs中express入门和基础知识点学习

    这篇文章给大家分享了关于学习nodejs中express入门和基础知识点内容,有兴趣的朋友们参考下。
    2018-09-09
  • Node解决简单重复问题系列之Excel内容的获取

    Node解决简单重复问题系列之Excel内容的获取

    这篇文章主要给大家介绍了关于利用Node解决简单重复问题系列之Excel内容获取的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧。
    2018-01-01
  • Node.js+Express.js+TS实现简单图床脚本

    Node.js+Express.js+TS实现简单图床脚本

    在这篇博客文章中,我将介绍如何使用 TypeScript 和 Express 框架来编写一个简单的图床脚本,可以将本地图片上传到服务器,并返回图片的 URL,这样,你就可以在 Markdown 文档中方便地引用图片,而不用担心图片的存储和管理问题
    2023-10-10
  • Node.js使用Express框架遇到中文乱码问题的解决方案

    Node.js使用Express框架遇到中文乱码问题的解决方案

    在Node.js中使用Express框架时,处理中文乱码问题通常涉及到设置正确的字符编码和中间件,以下是一些常见的解决方案,需要的朋友可以参考下
    2025-11-11
  • 学习使用ExpressJS 4.0中的新Router的用法

    学习使用ExpressJS 4.0中的新Router的用法

    ExpressJS 4.0中提出了新的路由Router,提供了路由应有的API,本文详细的介绍了ExpressJS 4.0中的新Router的用法,非常具有实用价值,需要的朋友可以参考下
    2018-11-11
  • nodejs实现截取上传视频中一帧作为预览图片

    nodejs实现截取上传视频中一帧作为预览图片

    这篇文章主要为大家详细介绍了nodejs实现截取上传视频中一帧作为预览图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • nodejs二进制与Buffer的介绍与使用

    nodejs二进制与Buffer的介绍与使用

    这篇文章主要给大家介绍了关于nodejs二进制与Buffer的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用nodejs具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07

最新评论