nvm 的安装与使用(详细教程)


一、简介

官网:https://github.com/coreybutler/nvm-windows

NVMNode Version Manager)是一个用于管理多个 Node.js 版本的命令行工具。在实际开发中,不同的项目可能依赖不同版本的 Node.js——比如老项目还在用 Node 14,而新项目已经用上了 Node 20。如果每次都要手动卸载和重装 Node.js,既繁琐又容易出错。

NVM 可以让开发者在同一台机器上轻松安装、切换和管理多个 Node.js 版本,极大提升了开发效率。

NVM 的主要特点和用途包括:

  1. 多版本共存:可以在同一台机器上安装多个 Node.js 版本,按需切换,互不干扰。

  2. 快速切换:通过一条命令即可在不同 Node.js 版本之间切换,无需重新安装。

  3. 统一管理:集中管理所有已安装的 Node.js 版本,方便查看、安装和卸载。

  4. 项目适配:不同项目可以使用不同版本的 Node.js,避免因版本不兼容导致的运行错误。

  5. 轻量便捷:安装简单,占用资源极少,是 Node.js 开发者的必备工具。

说明NVM 最初是为 Linux/macOS 设计的(https://github.com/nvm-sh/nvm)。本文介绍的是 nvm-windows,即由 coreybutler 开发的 Windows 版本(https://github.com/coreybutler/nvm-windows),两者命令基本一致,但安装方式有所不同。


二、安装前准备

2.1 系统要求

在安装 NVM 之前,请确认你的 Windows 系统满足以下要求:

要求项最低配置
操作系统Windows 7 / Windows Server 2008 R2 及以上
系统架构64 位(推荐)
内存512 MB 可用内存
磁盘空间至少 50 MB 可用空间(不含 Node.js 安装空间)

2.2 卸载已有的 Node.js

如果你的电脑上已经通过官方安装包(.msi)安装了 Node.js必须先卸载,否则会与 NVM 管理的版本产生冲突。

在这里插入图片描述

卸载步骤:

  1. 打开 控制面板程序和功能(或 设置应用),或者按下 Win + R 键,输入 appwiz.cpl 并回车,可直接打开 程序和功能 窗口

在这里插入图片描述

  1. 找到 Node.js,右键选择 卸载

在这里插入图片描述

  1. 卸载完成后,检查并删除以下目录(如果存在):
    • C:\Program Files\nodejs
    • C:\Users\<用户名>\AppData\Roaming\npm
    • C:\Users\<用户名>\AppData\Roaming\npm-cache

提示:可以先在 CMD 中执行 node -v,如果提示 'node' 不是内部或外部命令,说明旧版 Node.js 已经卸载干净了。
在这里插入图片描述

2.3 说明

  • nvm-windows 安装后会自动接管 Node.js 的版本管理,通过 nvm install 安装的 Node.js 会自动配置好 PATH 环境变量。
  • 安装 nvm-windows 之前,建议关闭所有已打开的 CMD / PowerShell / 终端 窗口,安装完成后重新打开,以确保环境变量生效。

三、下载 NVM

下载地址

nvm-windows 托管在 GitHub 上:

打开上述链接后,点击 Releases 进入版本发布页面,nvm-windows 提供两种安装方式:

根据自己的偏好,选择对应的版本或者安装方式。

注意: 这里不建议安装 1.2.2 版本的 mvn,因为 1.2.2 版本在处理 Node.js 18 以下版本的 npm 下载和解压时,出现了路径逻辑错误。

简单来说,nvm 在安装 Node.js 时,会先将 npm 下载到一个临时文件夹,再解压到目标位置。但在 1.2.2 版本中,这个过程出现了错乱:npm 被下载到了一个临时目录(例如 nvm-install-xxx\temp),但 nvm 却去另一个临时目录(例如 nvm-npm-xxx)寻找并解压这个文件。因为文件并不在它寻找的位置,所以最终报错“The system cannot find the file specified.”。

这个问题很普遍,Node.js 16 及更低版本的安装都会受影响,而 Node.js 18 及以上版本则可以正常安装,所以我建议选择稳定的 1.1.12 版本


四、安装 NVM

4.1 安装包安装(nvm-setup.exe)— 推荐

下载 nvm-setup.exe 安装包。

在这里插入图片描述

双击安装包运行,进入安装向导:

在这里插入图片描述

在这里插入图片描述

勾选 I accept the agreement 点击 Next

在这里插入图片描述

选择 NVM 的安装目录(例如:D:\dev\nvm),点击 Next

提示:建议将 NVM 安装到非系统盘(如 D 盘),避免后续因权限问题导致安装 Node.js 失败。

在这里插入图片描述

选择 Node.js 的安装目录(即 symlink 目录,例如:D:\dev\node),点击 Next

注意:该目录由 NVM 自动管理,是一个符号链接(symlink),指向当前使用的 Node.js 版本,请勿手动修改该目录下的内容

在这里插入图片描述

点击 Install,等待安装完成。

在这里插入图片描述

安装完成,点击 Finish

在这里插入图片描述

提示:安装过程中,nvm-setup.exe 会自动配置以下系统环境变量,无需手动操作:

环境变量说明示例值
NVM_HOMENVM 的安装目录D:\dev\nvm
NVM_SYMLINKNode.js 的符号链接目录D:\dev\node
Path(追加)追加 %NVM_HOME%%NVM_SYMLINK%

至此安装结束。


4.2 免安装版(nvm-noinstall.zip)

下载 nvm-noinstall.zip 压缩包,解压到你希望安装的目录(例如:D:\dev\nvm)。

在这里插入图片描述

在这里插入图片描述

解压后的目录结构如下:

在这里插入图片描述

文件说明
nvm.exeNVM 主程序
settings.txtNVM 配置文件
elevate.cmd提权脚本
nodejsNode.js 符号链接目录(安装后生成)

解压完成后需要手动配置环境变量

操作步骤:

  1. 右键 此电脑(我的电脑)属性高级系统设置环境变量

    在这里插入图片描述

  2. 系统变量 中新建两个变量:

    变量名变量值说明
    NVM_HOMED:\dev\nvm\nvmNVM 的安装目录
    NVM_SYMLINKD:\dev\nodeNode.js 符号链接目录

    在这里插入图片描述

    在这里插入图片描述

    注意: NVM_SYMLINK 配置的文件夹必须存在,如果没有需要创建,且该文件夹必须是个空文件夹

  3. 系统变量 中找到 Path,选中后点击 编辑,新增以下两条路径:

    • %NVM_HOME%
    • %NVM_SYMLINK%
      在这里插入图片描述
      在这里插入图片描述

  1. 然后一路点击 确定 进行保存

  2. NVM 安装目录下,编辑 settings.txt 文件(如果这个文件不存在,则自己创建即可):

    root: D:\dev\nvm\nvm
    path: D:\dev\node
    arch: 64
    proxy: none
    node_mirror: https://npmmirror.com/mirrors/node/
    npm_mirror: https://npmmirror.com/mirrors/npm/
    

    在这里插入图片描述

    各字段说明:

    字段说明
    rootNVM 的安装目录
    pathNode.js 符号链接目录(与 NVM_SYMLINK 一致)
    arch系统架构,64 表示 64 位
    proxy代理设置,无代理填 none
    node_mirrorNode.js 下载镜像源(建议配置国内镜像加速下载)
    npm_mirrornpm 下载镜像源
  3. 配置完成后,关闭所有已打开的 CMD 窗口,重新打开一个新的 CMD 窗口使环境变量生效。


五、验证安装

安装完成后,打开 CMD 命令窗口(Win + R 输入 cmd),执行以下命令验证安装是否成功:

nvm version
# 或者
nvm -v

在这里插入图片描述

如果输出版本号(例如:1.2.2),说明 NVM 安装成功。

提示:如果提示 'nvm' 不是内部或外部命令,请检查环境变量是否正确配置,并重新打开 CMD 窗口再试。


六、使用 NVM 管理 Node.js

6.1 查看可用版本

查看远程仓库中可安装的 Node.js 版本列表:

nvm list available

该命令会列出 LTS(长期支持版)和 Current(最新发行版)的各版本信息。

在这里插入图片描述

说明LTS(Long Term Support)是长期支持版本,稳定性更好,适合生产环境使用;Current 是最新发行版,包含最新特性,适合尝鲜和学习使用。一般推荐使用 LTS 版本

6.2 安装 Node.js

安装指定版本的 Node.js

nvm install 20.18.0

安装最新的 LTS 版本:

nvm install lts

安装最新版本:

nvm install latest

提示:安装过程会自动下载 Node.js 并配置到 NVM_SYMLINK 指定的目录中。如果下载速度较慢,建议先配置国内镜像源(参见第八章)。

6.3 查看已安装版本

查看本机已安装的所有 Node.js 版本:

nvm list

当前正在使用的版本会以 * 号标记,输出示例:

  * 20.18.0 (Currently using 64-bit executable)
    18.20.4
    16.20.2

6.4 切换版本

切换到指定版本的 Node.js

nvm use 20.18.0

切换完成后,可以验证当前版本:

node -v
npm -v

提示:切换版本后,nodenpm 命令会自动指向对应的版本,无需额外配置。如果遇到权限问题,请以管理员身份运行 CMD 后再执行。

6.5 卸载版本

卸载不再需要的 Node.js 版本:

nvm uninstall 18.20.4

注意:不能卸载当前正在使用的版本,需要先切换到其他版本后再卸载。


七、常用 NVM 命令速查表

以下是在 Windows 下使用 NVM 管理 Node.js 的常用命令:

操作命令说明
查看 NVM 版本nvm version查看当前 NVM 的版本
查看可安装版本nvm list available列出远程仓库中可用的 Node.js 版本
安装指定版本nvm install <version>安装指定版本的 Node.js
安装 LTS 版本nvm install lts安装最新的 LTS 版本
安装最新版本nvm install latest安装最新版本
查看已安装版本nvm list查看本机已安装的所有版本
切换版本nvm use <version>切换到指定版本的 Node.js
卸载版本nvm uninstall <version>卸载指定版本的 Node.js
查看 Node.js 版本node -v查看当前使用的 Node.js 版本
查看 npm 版本npm -v查看当前使用的 npm 版本
开启 NVMnvm on启用 NVM
关闭 NVMnvm off禁用 NVM

提示nvm on / nvm off 仅在 Windows 版本的 NVM 中可用,用于临时启用或禁用 NVM 的版本管理功能。


八、配置国内镜像源(推荐)

由于 Node.js 官方源在国内访问较慢,建议配置国内镜像源以加速下载。

编辑 NVM 安装目录下的 settings.txt 文件(例如:D:\dev\nvm\settings.txt),添加或修改以下配置:

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

说明:以上使用的是阿里巴巴提供的 npmmirror 镜像源,是国内最稳定、最常用的 Node.js 镜像。

如果 settings.txt 中已有内容,只需在末尾追加上述两行即可,完整示例:

root: D:\dev\nvm
path: D:\dev\nodejs
arch: 64
proxy: none
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/

配置完成后,再次执行 nvm install 命令即可体验高速下载。


九、常见问题排查

9.1 nvm 命令无法识别

执行 nvm 命令时提示 'nvm' 不是内部或外部命令

可能原因及解决方案:

  1. 环境变量未配置:检查系统变量中是否已正确配置 NVM_HOME

    echo %NVM_HOME%
    

    如果输出为空,说明环境变量未配置,请参照第四章的安装步骤重新配置。

  2. Path 未更新:检查 Path 中是否包含 %NVM_HOME%%NVM_SYMLINK%

  3. CMD 未重启:关闭所有 CMD / PowerShell 窗口后重新打开

  4. 免安装版路径错误:如果是免安装版,确认 settings.txt 中的 rootpath 路径与实际目录一致

9.2 nvm use 切换版本后 node 命令无效

切换版本后,执行 node -v 提示 'node' 不是内部或外部命令

可能原因及解决方案:

  1. 权限不足:以管理员身份运行 CMD 后再执行 nvm use

  2. 符号链接未生效:检查 NVM_SYMLINK 指向的目录是否存在,且已被添加到 Path

    echo %NVM_SYMLINK%
    
  3. 旧版 Node.js 冲突:确认没有残留的旧版 Node.js 安装路径与 NVM 的符号链接冲突

  4. NVM_SYMLINK 路径配置问题: 环境变量 NVM_SYMLINK 可能没有正确设置,或者设置的值不符合预期

  5. 目标路径已存在“物理”文件夹: nvm-windows 只能在 NVM_SYMLINK 指向的路径(即 D:\dev\node)不存在任何东西的情况下,才能创建符号链接。

9.3 npm install 报错权限问题

执行 npm install -g 全局安装时提示权限错误:

解决方案:

  • 管理员身份运行 CMD 后再执行全局安装命令
  • 或修改 npm 全局安装路径到用户目录下:
    npm config set prefix "%APPDATA%\npm"
    

9.4 安装 Node.js 速度很慢

使用 nvm install 安装 Node.js 时下载速度极慢:

解决方案:

  1. 配置国内镜像源
  2. 检查网络代理设置,在 settings.txt 中配置 proxy
  3. 如果公司网络有限制,可联系网络管理员开放 npmmirror.com 的访问权限

参考文献:

NVM-Windows GitHub 仓库:https://github.com/coreybutler/nvm-windows

NVM(Linux/macOS)GitHub 仓库:https://github.com/nvm-sh/nvm

Node.js 官方网站:https://nodejs.org/

npmmirror 中国镜像:https://npmmirror.com/

内容概要:本文提出了一种在单向双向V2G(Vehicle-to-Grid)并行环境下,对分布式电源电动汽车充电站进行联合优化配置的方法,并提供了完整的Matlab代码实现。研究综合考虑了分布式光伏、储能系统以及电动汽车充放电行为对配电网的影响,构建了一个多目标优化模型,旨在实现电源、负荷电网之间的协同规划,提升系统运行的经济性、稳定性和新能源消纳能力。该方法通过优化分布式电源的选址定容、充电站布局及V2G调度策略,有效降低网络损耗、改善电压质量,并增强配电网对高渗透率电动汽车的承载能力。文中详细阐述了模型构建、求解算法设计、仿真验证流程及结果分析,适用于城市复杂用电场景下的能源基础设施规划运行优化。; 适合人群:具备电力系统、可再生能源、智能电网等相关专业背景,熟悉Matlab编程优化算法,从事科研或工程应用的研究生、高校教师及电力行业技术人员;特别适合从事电动汽车电网互动、分布式能源规划、综合能源系统优化等方向的研究人员。; 使用场景及目标:①用于高校科研机构开展V2G分布式能源协同优化的课题研究论文复现;②支撑电网公司、城市规划部门在充电基础设施布局电网扩容改造中的科学决策;③为撰写高水平SCI/EI期刊论文提供可复现的技术路线、算法框架仿真代码支持。; 其他说明:资源包含完整Matlab源代码仿真案例,建议结合文中模型结构、参数设置优化目标进行调试学习,可进一步拓展至不确定性建模、多时间尺度优化、鲁棒优化等高级场景,以提升方法的实际应用价值学术深度。
内容概要:本文提出了一种基于贝叶斯网络的短期电能负荷预测方法,重点解决电力系统中负荷受天气、节假日等多种不确定性因素影响的问题。通过构建贝叶斯网络模型,融合历史负荷数据及相关外部变量,实现对负荷的概率化预测,有效刻画其随机波动特性复杂依赖关系。该方法不仅能够量化预测不确定性,还能通过条件概率推理分析各因素对负荷的影响程度,提升预测的鲁棒性实用性。文中配套提供了完整的Python代码实现,涵盖数据预处理、网络结构学习、参数训练及概率推理全过程,便于读者复现拓展应用。该技术适用于现代智能电网中的调度决策、需求响应管理能源规划等场景。; 适合人群:具备一定电力系统基础知识和Python编程能力的科研人员、研究生及从事能源预测、智能电网等相关工作的技术人员。; 使用场景及目标:①应用于短期电能负荷预测,特别是在存在显著不确定性和多源影响因素的实际场景中;②为电力系统运行调度、负荷管理、需求响应策略制定以及电网扩容规划提供高可信度的数据支持;③通过动手实践掌握贝叶斯网络在时序预测中的建模流程,深入理解其在处理不确定性问题上的优势实现细节。; 阅读建议:建议读者结合提供的Python代码逐步实现模型构建过程,重点关注贝叶斯网络的结构设计原则、参数学习算法(如最大似然估计或贝叶斯估计)以及后验概率推理的实现方式,并尝试在不同数据集上进行敏感性分析模型对比实验,以全面掌握该方法的应用精髓。
内容概要:本文系统性地介绍了大语言模型(Large Language Model, LLM)的基本概念、核心技术、发展历程、工作原理及其在人工智能领域的广泛应用。文章首先明确了大语言模型的定义——基于深度神经网络、利用海量文本数据进行预训练的模型,具备数十亿至数万亿参数,能够完成文本理解、生成、知识推理和多轮对话等任务。不同于传统AI模型依赖人工规则或针对单一任务设计,大语言模型通过“预训练+微调”范式实现强大的泛化能力,可在不重新训练的情况下适应多种任务。文章进一步阐述了Token、上下文(Context)、Prompt工程、结构化输出、工具调用(Tool Calling)、RAG(检索增强生成)、Agent等关键技术概念,揭示了大模型如何通过概率预测机制逐Token生成内容,并结合外部系统实现复杂任务执行。此外,还梳理了大模型的发展脉络,从早期专家系统到深度学习兴起,再到Transformer架构的提出ChatGPT的爆发,展示了其技术演进的关键节点。 适合人群:对人工智能和大语言模型感兴趣的初学者、高校学生、初级开发者及希望了解AI技术原理的非技术背景从业者。 使用场景及目标:①帮助读者建立对大语言模型的正确认知,区分其搜索引擎、数据库等传统系统的本质差异;②理解大模型的核心工作机制,如Token处理、上下文管理、Prompt设计推理过程;③掌握RAG、Agent、工具调用等前沿应用架构,为后续深入学习或开发AI应用打下基础。 阅读建议:本文以科普为导向,侧重概念解释逻辑梳理,而非底层算法推导,适合循序渐进阅读。建议结合实例思考每个技术点的实际意义,尤其是Token、ContextPrompt之间的关系,以及大模型在真实场景中的局限性(如幻觉问题),从而全面把握其能力边界发展前景。
内容概要:本文基于Simulink仿真实现了一个四机并联的孤岛微电网系统,重点研究在遭受DoS(拒绝服务)攻击的情况下,如何通过融合二次控制、下垂控制以及事件触发式负荷控制策略,实现系统的电压频率恢复以及有功和无功功率的精确共享分配。针对孤岛微电网在通信异常或网络攻击下可能出现的控制失效问题,提出了一种具有强鲁棒性的分布式协调控制架构。其中,下垂控制用于实现各分布式电源(DG)之间的功率初步分配,避免对外部通信的高度依赖;事件触发机制有效降低了通信频率,减轻网络负担,提升系统运行效率;而分布式二次控制则在通信受限条件下仍能逐步调节电压和频率至额定值,增强系统的自愈能力稳定性。整体方案充分考虑了网络安全威胁对微电网运行的影响,实现了在复杂工况下的可靠控制动态性能优化。; 适合人群:具备电力系统、微电网控制、自动化或相关领域基础知识的科研人员、研究生及工程技术人员,熟悉Matlab/Simulink仿真工具者更佳。; 使用场景及目标:①研究微电网在通信故障或网络攻击(如DoS)下的安全运行恢复机制;②掌握下垂控制、二次控制事件触发控制的协同设计方法;③实现孤岛微电网的电压频率稳定功率均分控制目标; 阅读建议:建议结合Simulink模型进行仿真验证,重点关注控制模块的响应逻辑事件触发条件的设计,同时可通过修改攻击场景参数来测试系统的鲁棒性恢复性能。
内容概要:本文围绕三相并网逆变器的高性能控制问题,深入研究了基于电流预测功率预测两种模型预测控制(MPC)策略的闭环仿真方法。通过Simulink仿真平台Matlab代码实现,构建了电流和功率双模式MPC控制模型,旨在提升逆变器在复杂电网环境下的动态响应能力、抗干扰能力和电能质量。文章系统阐述了两种MPC控制策略的设计原理,包括预测模型的建立、代价函数的构造优化、控制律的生成过程,并详细对比分析了其在稳态运行、电网扰动及动态切换等工况下的仿真表现,验证了所提方法在抑制电流畸变、提高功率跟踪精度和增强系统稳定性方面的优越性。该研究为新能源发电系统中逆变器的先进控制提供了坚实的理论依据和技术路径。; 适合人群:具备电力电子、自动控制或新能源并网等相关专业背景,从事科研仿真或工程开发工作,且具有一定Matlab/Simulink仿真基础的研发人员及硕士、博士研究生。; 使用场景及目标:① 掌握模型预测控制在三相并网逆变器中的具体实现方法;② 对比分析电流预测功率预测MPC控制策略的性能差异适用场景;③ 实现高精度、高动态响应的并网逆变器控制系统仿真优化设计。; 阅读建议:建议结合文中提供的Simulink模型Matlab代码进行实践操作,重点关注预测模型构建代价函数设计环节,并通过设置不同工况进行仿真实验,深入理解MPC控制策略的动态调节机制优化效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值