nvm 命令大全详解 - Node.js 版本管理完整指南
nvm(Node Version Manager)是 Node.js 开发者必备的版本管理工具,它允许你在同一台机器上安装和切换多个 Node.js 版本。本文为你整理了完整的 nvm 命令大全,包含详细说明和实用示例。
1️⃣ nvm 安装与版本信息
| 命令 | 说明 | 示例 |
|---|---|---|
nvm --version |
查看 nvm 自身版本 | nvm --version |
nvm help |
查看帮助文档 | nvm help |
cover: 附件/Halo封面/code.jpg
2️⃣ 安装 Node.js
| 命令 | 说明 | 示例 |
|---|---|---|
nvm install <version> |
安装指定版本的 Node.js(支持 x.y.z、x.y、x 格式) | nvm install 20.17.0 |
nvm install <version> --reinstall-packages-from=<src> |
安装指定版本并复制已有版本的全局包 | nvm install 20.17.0 --reinstall-packages-from=18 |
nvm install --lts |
安装最新 LTS(长期支持)版本 | nvm install --lts |
nvm install node |
安装最新稳定版 | nvm install node |
nvm install --lts=argon |
安装指定代号的 LTS 版本(如 argon、boron) | nvm install --lts=hydrogen |
cover: 附件/Halo封面/code.jpg
3️⃣ 使用 Node.js 版本
| 命令 | 说明 | 示例 |
|---|---|---|
nvm use <version> |
临时切换到指定版本 | nvm use 20.17.0 |
nvm use node |
切换到最新版本 | nvm use node |
nvm use --lts |
切换到最新 LTS 版本 | nvm use --lts |
nvm alias default <version> |
设置默认版本(新终端会自动使用) | nvm alias default 20.17.0 |
nvm unalias <alias> |
删除别名 | nvm unalias default |
cover: 附件/Halo封面/code.jpg
4️⃣ 查看已安装与可用版本
| 命令 | 说明 | 示例 |
|---|---|---|
nvm ls |
列出本地已安装的 Node.js 版本,显示当前使用版本 | nvm ls |
nvm ls-remote |
列出所有可安装的 Node.js 版本 | nvm ls-remote |
nvm ls-remote --lts |
列出所有可安装的 LTS 版本 | nvm ls-remote --lts |
nvm current |
显示当前正在使用的 Node.js 版本 | nvm current |
cover: 附件/Halo封面/code.jpg
5️⃣ 删除 Node.js 版本
| 命令 | 说明 | 示例 |
|---|---|---|
nvm uninstall <version> |
卸载指定版本的 Node.js | nvm uninstall 18.17.0 |
cover: 附件/Halo封面/code.jpg
6️⃣ 管理全局包
| 命令 | 说明 | 示例 |
|---|---|---|
nvm reinstall-packages <version> |
将一个版本的全局包复制到当前版本 | nvm reinstall-packages 18.17.0 |
cover: 附件/Halo封面/code.jpg
7️⃣ 其他有用命令
| 命令 | 说明 | 示例 |
|---|---|---|
nvm which <version> |
显示指定版本 Node.js 的安装路径 | nvm which 20.17.0 |
nvm alias <name> <version> |
给版本创建别名 | nvm alias dev 20.17.0 |
nvm install-latest-npm |
升级当前 Node.js 使用的 npm 到最新 | nvm install-latest-npm |
cover: 附件/Halo封面/code.jpg
8️⃣ 常用组合示例
# 安装最新 LTS 版本并设置为默认
nvm install --lts
nvm alias default lts/*
# 查看所有本地版本
nvm ls
# 切换到最新版本
nvm use node
# 升级当前 npm
nvm install-latest-npm
包管理器
一、确认 Node. js 版本
首先确保当前使用的是 Node. js 24.0.0(通过 NVM 切换):
# 查看已安装的 Node 版本
nvm list
# 切换到 24.0.0(如果未激活)
nvm use 24.0.0
# 验证当前版本
node -v # 应输出 v24.0.0
二、安装包管理器
1. 安装包管理器(若未安装)
npm install -g yarn/pnpm
yarn/pnpm -v # 验证安装
三、配置淘宝镜像源(永久生效)
1. 配置镜像
# 设置淘宝源
npm/yarn/pnpm config set registry https://registry.npmmirror.com
# 验证配置
npm/yarn/pnpm config get registry # 应输出 https://registry.npmmirror.com
配置原理:以上命令会将镜像源写入用户目录的配置文件(~/.npmrc、~/.yarnrc、~/.pnpmrc),下次打开电脑或重启终端后仍会保留配置,无需重复设置。
四、恢复默认配置(回归官方源)
1. 恢复 npm 官方源
npm/yarn/pnpm config set registry https://registry.npmjs.org
# 或删除配置
npm/yarn/pnpm config delete registry
4. 彻底清除配置文件
# 删除所有配置文件
rm ~/.npmrc ~/.yarnrc ~/.pnpmrc
五、卸载包管理器
npm uninstall -g yarn/pnpm
六、验证配置是否生效
安装测试包,检查下载速度(国内环境应秒级下载):
# 用 npm 测试
npm install react -g
# 用 yarn 测试
yarn global add react
# 用 pnpm 测试
pnpm add -g react
如果安装速度明显提升,说明淘宝镜像配置成功,且配置会自动持久化保存。
注意事项
- nvm 只管理 Node. js 版本,包管理器的配置是跟随用户配置文件的
- 切换 Node 版本后,包管理器配置仍然有效,无需重新配置
- 若需要为特定项目单独配置镜像源,可在项目根目录下执行相应配置命令
📚 pnpm 完整命令大全
🔐 安全相关命令
| 命令 | 说明 |
|---|---|
pnpm approve-builds |
交互式批准依赖包的构建脚本(防止供应链攻击) |
pnpm audit |
检查依赖中的安全漏洞 |
pnpm audit --fix |
自动修复可修复的安全漏洞 |
pnpm audit --audit-level moderate |
设置漏洞检查级别(low/moderate/high/critical) |
🚀 项目脚手架命令
| 命令 | 说明 |
|---|---|
pnpm create vite |
使用 Vite 创建新项目 |
pnpm create react-app |
创建 React 应用 |
pnpm create vue@latest |
创建 Vue 项目 |
pnpm dlx <package> |
临时执行包(不安装到依赖) |
📦 依赖管理扩展命令
| 命令 | 说明 |
|---|---|
pnpm list 或 pnpm ls |
查看已安装的依赖树 |
pnpm list --depth 1 |
查看一级依赖 |
pnpm why <package> |
查看为什么安装了某个包 |
pnpm run <script> |
运行 package.json 中的脚本 |
pnpm exec <command> |
在项目环境中执行命令 |
pnpm store path |
查看 pnpm 存储路径 |
pnpm store prune |
清理存储中的无效包(释放空间) |
🏢 Monorepo 工作空间命令
| 命令 | 说明 |
|---|---|
pnpm install -w |
在工作空间根目录安装依赖 |
pnpm --filter <package> <command> |
对指定包执行命令 |
pnpm -r <command> |
对所有包执行命令(递归) |
pnpm --parallel <command> |
并行执行命令 |
pnpm m ls |
列出所有工作空间包 |
⚙️ 配置相关命令
| 命令 | 说明 |
|---|---|
pnpm config set <key> <value> |
设置配置 |
pnpm config get <key> |
获取配置值 |
pnpm config delete <key> |
删除配置 |
pnpm config list |
列出所有配置 |
🤔 为什么推荐 Corepack 而不是 npm install -g pnpm?
传统方式的痛点:
# 不推荐的方式(可能的问题)
npm install -g pnpm
问题:
- 权限问题:可能需要
sudo,有安全风险 - 版本冲突:全局安装可能导致与项目要求的 pnpm 版本不匹配
- 团队不一致:团队成员可能安装了不同版本的 pnpm
- 项目锁定困难:无法确保 CI/CD 环境与本地环境使用相同版本
Corepack 的优势:
# 推荐的方式(Node.js 16.9+ 内置)
corepack enable pnpm
优势:
-
版本锁定:在
package.json中指定 pnpm 版本{ "packageManager": "pnpm@8.6.0" } -
自动管理:Corepack 自动下载并使用项目指定的版本
-
无需全局安装:避免权限问题和版本冲突
-
团队一致性:确保所有开发者使用相同版本
Corepack 完整用法:
# 启用 Corepack(Node.js 16.9+ 自带)
corepack enable
# 在项目中使用特定 pnpm 版本
corepack use pnpm@latest
# 准备 pnpm(确保版本可用)
corepack prepare pnpm@8.6.0 --activate
# 查看已准备的包管理器
corepack list
💡 实用技巧
1. 性能优化
# 使用网络并发安装(加快速度)
pnpm install --network-concurrency 1
# 跳过可选依赖安装
pnpm install --ignore-optional
2. 依赖分析
# 查看包大小分析
pnpm list --prod --depth=0
# 生成依赖图
pnpm dlx depcheck
3. 问题排查
# 清除缓存和重新安装
pnpm store prune
rm -rf node_modules
pnpm install
# 检查节点模块完整性
pnpm check
🎯 总结
核心建议:
- 使用 Corepack 管理 pnpm 版本,确保团队一致性
- 掌握安全命令:
approve-builds,audit等 - 善用 Monorepo 命令:
--filter,-r等提高效率 - 定期维护:
store prune清理存储空间
这样既能享受 pnpm 的性能优势,又能避免版本管理带来的各种问题!