使用 nvm(Node Version Manager) 高效管理Node.js

使用 nvm(Node Version Manager) 可以高效管理多个 Node.js 版本,尤其适合需要切换不同版本进行开发或测试的场景。以下是针对 Windows 和 macOS/Linux 的详细操作指南,涵盖安装、版本管理、常见问题解决等核心内容。

一、nvm 安装与配置

1. Windows 系统安装 nvm-windows

  • 下载安装包
    nvm-windows 官方仓库 下载最新版 nvm-setup.zip
  • 安装步骤
    1. 解压并运行 nvm-setup.exe
    2. 选择安装目录(建议默认 C:\Users\<用户名>\AppData\Roaming\nvm)。
    3. 勾选 "自动配置 Node.js 路径"(避免手动设置环境变量)。
    4. 完成安装后重启终端。

验证安装

bash 复制代码
nvm version

预期输出

bash 复制代码
1.1.11  # 版本号可能不同

2. macOS/Linux 系统安装 nvm

  • 通过脚本安装(推荐):

    |---|-----------------------------------------------------------------------------------|
    | | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash |

    安装后重启终端,或运行:

    |---|--------------------------------------------|
    | | source ~/.bashrc # 或 ~/.zshrc、~/.profile |

  • 验证安装

    |---|------------------|
    | | command -v nvm |

  • 预期输出

    |---|---------------|
    | | nvm # 表示已安装 |

二、nvm 核心操作指南

1. 安装指定版本的 Node.js

|---|--------------------------------------------|
| | nvm install 16.20.2 # 安装 Node.js 16.20.2 |

  • 加速下载 (国内用户):
    设置 npm 镜像源后,nvm 会自动从镜像下载 Node.js:

    |---|----------------------------------------------------------|
    | | npm config set registry https://registry.npmmirror.com |

2. 切换 Node.js 版本

  • 临时切换 (当前终端会话有效):

    |---|-------------------|
    | | nvm use 16.20.2 |

  • 永久切换 (设置默认版本):

    |---|-----------------------------|
    | | nvm alias default 16.20.2 |

3. 查看已安装版本

|---|---------------------------|
| | nvm list # 显示所有已安装版本 |
| | nvm ls # 同上(简写) |
| | nvm current # 显示当前激活的版本 |

4. 卸载 Node.js 版本

|---|----------------------------------|
| | nvm uninstall 16.20.2 # 卸载指定版本 |

总结命令清单

命令 作用 示例
nvm install 16.20.2 安装指定版本 nvm install 18.16.0
nvm use 16.20.2 切换版本 nvm use 14.17.0
nvm alias default 16.20.2 设置默认版本 nvm alias default 16.20.2
nvm list 查看已安装版本 nvm ls
nvm uninstall 16.20.2 卸载版本 nvm uninstall 14.17.0
nvm current 查看当前版本 nvm current
相关推荐
IT教程资源C12 小时前
(N_122)基于springboot,vue网上订餐系统
mysql·vue·前后端分离·网上订餐系统·springboot网上订餐
小胖霞13 小时前
全栈系列(15)github Actions自动化部署前端vue
前端·node.js·github
LYFlied14 小时前
【一句话概述】Webpack、Vite、Rollup 核心区别
前端·webpack·node.js·rollup·vite·打包·一句话概述
星光一影16 小时前
美容/心理咨询/问诊/法律咨询/牙医预约/线上线下预约/牙医行业通用医疗预约咨询小程序
mysql·小程序·vue·php·uniapp
yuyu_030416 小时前
SOHE智能厨余垃圾处理系统
java·vue
程序员爱钓鱼19 小时前
Node.js 编程实战:MongoDB 基础与 Mongoose 入门
后端·node.js·trae
程序员爱钓鱼19 小时前
Node.js 编程实战:MySQL PostgreSQL数据库操作详解
后端·node.js·trae
Watermelo61720 小时前
【前端实战】从 try-catch 回调到链式调用:一种更优雅的 async/await 错误处理方案
前端·javascript·网络·vue.js·算法·vue·用户体验
古韵20 小时前
当 API 文档走进编辑器会怎样?
vue.js·react.js·node.js
狼性书生20 小时前
uniapp实现的时间范围选择器组件
前端·uni-app·vue·组件·插件