Loading...

文章背景图

NVM

2025-05-29
0
-
- 分钟
|

nvm 命令大全详解 - Node.js 版本管理完整指南

nvm(Node Version Manager)是 Node.js 开发者必备的版本管理工具,它允许你在同一台机器上安装和切换多个 Node.js 版本。本文为你整理了完整的 nvm 命令大全,包含详细说明和实用示例。

1️⃣ nvm 安装与版本信息

命令

说明

示例

nvm --version

查看 nvm 自身版本

nvm --version

nvm help

查看帮助文档

nvm help


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


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


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


5️⃣ 删除 Node.js 版本

命令

说明

示例

nvm uninstall <version>

卸载指定版本的 Node.js

nvm uninstall 18.17.0


6️⃣ 管理全局包

命令

说明

示例

nvm reinstall-packages <version>

将一个版本的全局包复制到当前版本

nvm reinstall-packages 18.17.0


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


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 listpnpm 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

问题:

  1. 权限问题:可能需要 sudo,有安全风险

  2. 版本冲突:全局安装可能导致与项目要求的 pnpm 版本不匹配

  3. 团队不一致:团队成员可能安装了不同版本的 pnpm

  4. 项目锁定困难:无法确保 CI/CD 环境与本地环境使用相同版本

Corepack 的优势:

# 推荐的方式(Node.js 16.9+ 内置)
corepack enable pnpm

优势:

  1. 版本锁定:在 package.json 中指定 pnpm 版本

    {
      "packageManager": "pnpm@8.6.0"
    }
    
  2. 自动管理:Corepack 自动下载并使用项目指定的版本

  3. 无需全局安装:避免权限问题和版本冲突

  4. 团队一致性:确保所有开发者使用相同版本

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 的性能优势,又能避免版本管理带来的各种问题!

评论交流

文章目录