Loading...

文章背景图

nvm 命令大全与 Node 版本管理

2024-05-26
0
- 字
- 分钟
|

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

问题:

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

原创

nvm 命令大全与 Node 版本管理

本文链接: nvm 命令大全与 Node 版本管理

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

评论交流

文章目录