Jacky's blog
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)

Jack Yang

编程; 随笔
首页
  • Android
  • Web
  • Server
  • Python
  • iOS
  • Java
  • Vue
  • 计算机基础
  • AI
  • 全部工具
  • CLI 工具
  • 编辑器
  • 开发工具
  • 构建工具
  • 版本控制
  • 调试工具
  • 网络工具
  • 个人成长
  • 博客
  • 分类
  • 标签
  • 归档
收藏
GitHub (opens new window)
  • web
  • 工具

    • Web 开发工具完整指南
    • Node.js 命令行工具完整指南
    • npx 使用指南
    • npm 完整使用指南
    • nvm 使用指南
      • 📋 目录
      • 什么是 nvm
      • 安装 nvm
        • Linux/macOS
        • Windows
        • 配置环境
      • 基础命令
        • 查看版本信息
        • 安装和卸载
        • 切换版本
      • 版本管理
        • 查看版本信息
        • 版本别名
      • 项目配置
        • .nvmrc 文件
        • 自动切换版本
      • 常用操作
        • 运行特定版本的命令
        • 包管理
        • 缓存管理
      • 最佳实践
        • 1. 版本选择策略
        • 2. 项目版本管理
        • 3. 性能优化
        • 4. 自动化脚本
      • 故障排除
        • 常见问题
        • 1. nvm 命令不识别
        • 2. 版本切换失败
        • 3. npm 全局包丢失
        • 4. 权限问题
        • 调试命令
      • 完整命令参考
        • 基础命令
        • 版本管理
        • 版本查看
        • 别名管理
        • 执行命令
        • 包管理
        • 缓存管理
        • 实用示例
  • JavaScript

  • CSS

  • Vue

  • React

  • Next.js

  • 模块化

  • web faq
  • Web3

  • 更多

  • web concept
  • web
  • tool
Jacky
2023-09-18
目录

nvm 使用指南

NVM (Node Version Manager) 是一个用于管理多个 Node.js 版本的工具,让你可以轻松在不同项目间切换 Node.js 版本。

# 📋 目录

  • 什么是 nvm
  • 安装 nvm
  • 基础命令
  • 版本管理
  • 项目配置
  • 常用操作
  • 最佳实践
  • 故障排除
  • 完整命令参考

# 什么是 nvm

NVM 允许你:

  • 🔄 安装多个 Node.js 版本
  • 🔀 在不同版本间快速切换
  • 📦 为每个版本管理独立的 npm 包
  • 🎯 为不同项目指定特定版本

# 安装 nvm

# Linux/macOS

# 安装最新版本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# 或者使用 wget
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
1
2
3
4
5

# Windows

# 使用 Chocolatey
choco install nvm

# 或下载安装包
# https://github.com/coreybutler/nvm-windows/releases
1
2
3
4
5

# 配置环境

安装后需要重新加载 shell 配置:

# 重新加载配置
source ~/.bashrc
# 或
source ~/.zshrc

# 验证安装
nvm --version
1
2
3
4
5
6
7

# 基础命令

# 查看版本信息

# 查看 nvm 版本
nvm --version

# 查看当前使用的 Node.js 版本
nvm current

# 查看所有已安装的版本
nvm ls

# 查看所有可用的远程版本
nvm ls-remote
1
2
3
4
5
6
7
8
9
10
11

# 安装和卸载

# 安装最新的 LTS 版本
nvm install --lts

# 安装指定版本
nvm install 18.17.0
nvm install 16.20.0

# 安装最新版本
nvm install node

# 卸载指定版本
nvm uninstall 16.20.0
1
2
3
4
5
6
7
8
9
10
11
12

# 切换版本

# 切换到指定版本
nvm use 18.17.0
nvm use 16

# 切换到 LTS 版本
nvm use --lts

# 设置默认版本
nvm alias default 18.17.0
1
2
3
4
5
6
7
8
9

# 版本管理

# 查看版本信息

# 列出所有已安装版本
nvm ls

# 列出所有远程可用版本
nvm ls-remote

# 列出特定版本(如 18.x)
nvm ls-remote | grep "^v18"

# 查看当前版本
nvm current

# 查看版本路径
nvm which 18.17.0
nvm which 18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 版本别名

# 创建别名
nvm alias stable 18.17.0
nvm alias dev 20.5.0

# 查看所有别名
nvm alias

# 删除别名
nvm unalias dev
1
2
3
4
5
6
7
8
9

# 项目配置

# .nvmrc 文件

在项目根目录创建 .nvmrc 文件:

# 在项目根目录
echo "18.17.0" > .nvmrc

# 使用项目指定的版本
nvm use

# 运行项目时自动使用指定版本
nvm run npm start
1
2
3
4
5
6
7
8

# 自动切换版本

在 ~/.zshrc 或 ~/.bashrc 中添加:

# 进入目录时自动切换 Node.js 版本
autoload -U add-zsh-hook
load-nvmrc() {
  local node_version="$(nvm version)"
  local nvmrc_path="$(nvm_find_nvmrc)"

  if [ -n "$nvmrc_path" ]; then
    local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")

    if [ "$nvmrc_node_version" = "N/A" ]; then
      nvm install
    elif [ "$nvmrc_node_version" != "$node_version" ]; then
      nvm use
    fi
  elif [ "$node_version" != "$(nvm version default)" ]; then
    echo "Reverting to nvm default version"
    nvm use default
  fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

# 常用操作

# 运行特定版本的命令

# 使用指定版本运行命令
nvm exec 16.20.0 npm --version

# 使用指定版本运行脚本
nvm run 18.17.0 app.js

# 使用指定版本安装包
nvm exec 16.20.0 npm install -g yarn
1
2
3
4
5
6
7
8

# 包管理

# 升级当前版本的 npm
nvm install-latest-npm

# 从其他版本重新安装全局包
nvm reinstall-packages 16.20.0

# 查看全局包
npm list -g --depth=0
1
2
3
4
5
6
7
8

# 缓存管理

# 查看缓存目录
nvm cache dir

# 清理缓存
nvm cache clear
1
2
3
4
5

# 最佳实践

# 1. 版本选择策略

# 推荐使用 LTS 版本作为默认版本
nvm install --lts
nvm alias default lts/*

# 为不同环境设置别名
nvm alias stable 18.17.0    # 生产环境
nvm alias dev 20.5.0        # 开发环境
nvm alias legacy 14.21.0    # 旧项目
1
2
3
4
5
6
7
8

# 2. 项目版本管理

# 在项目根目录创建 .nvmrc
echo "18.17.0" > .nvmrc

# 团队协作时,确保所有人使用相同版本
# 在 package.json 中指定 engines
{
  "engines": {
    "node": ">=18.17.0 <19.0.0"
  }
}
1
2
3
4
5
6
7
8
9
10

# 3. 性能优化

# 只保留必要的版本
nvm uninstall 14.21.0  # 删除不需要的版本

# 定期清理缓存
nvm cache clear

# 使用 --no-progress 加速安装
nvm install 18.17.0 --no-progress
1
2
3
4
5
6
7
8

# 4. 自动化脚本

#!/bin/bash
# 项目启动脚本
if [ -f .nvmrc ]; then
    nvm use
fi
npm install
npm start
1
2
3
4
5
6
7

# 故障排除

# 常见问题

# 1. nvm 命令不识别

# 解决方案:重新加载 shell 配置
source ~/.bashrc
# 或
source ~/.zshrc

# 检查是否正确安装
which nvm
1
2
3
4
5
6
7

# 2. 版本切换失败

# 检查版本是否存在
nvm ls

# 重新安装版本
nvm uninstall 18.17.0
nvm install 18.17.0
1
2
3
4
5
6

# 3. npm 全局包丢失

# 重新安装全局包
nvm reinstall-packages 18.17.0

# 或者手动安装常用包
npm install -g yarn typescript nodemon
1
2
3
4
5

# 4. 权限问题

# 使用 sudo 安装(不推荐)
sudo npm install -g package-name

# 推荐:配置 npm 全局目录
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
1
2
3
4
5
6
7

# 调试命令

# 查看 nvm 配置
nvm which node
nvm which npm

# 查看环境变量
echo $NVM_DIR
echo $PATH

# 查看安装日志
nvm install 18.17.0 --verbose
1
2
3
4
5
6
7
8
9
10

# 完整命令参考

# 基础命令

命令 说明
nvm --version 显示 nvm 版本
nvm --help 显示帮助信息
nvm current 显示当前使用的版本

# 版本管理

命令 说明
nvm install <version> 安装指定版本
nvm install --lts 安装最新 LTS 版本
nvm install node 安装最新版本
nvm uninstall <version> 卸载指定版本
nvm use <version> 切换到指定版本
nvm use --lts 切换到 LTS 版本

# 版本查看

命令 说明
nvm ls 列出已安装版本
nvm ls-remote 列出远程可用版本
nvm ls-remote --lts 列出远程 LTS 版本
nvm ls-remote <version> 列出匹配的远程版本

# 别名管理

命令 说明
nvm alias 显示所有别名
nvm alias <name> <version> 创建别名
nvm unalias <name> 删除别名

# 执行命令

命令 说明
nvm exec <version> <command> 在指定版本执行命令
nvm run <version> <script> 使用指定版本运行脚本

# 包管理

命令 说明
nvm install-latest-npm 升级当前版本的 npm
nvm reinstall-packages <version> 重新安装全局包

# 缓存管理

命令 说明
nvm cache dir 显示缓存目录
nvm cache clear 清理缓存

# 实用示例

# 快速设置开发环境
nvm install --lts
nvm alias default lts/*
nvm use default

# 项目开发流程
cd my-project
nvm use                    # 使用项目指定的版本
npm install                # 安装依赖
npm start                  # 启动项目

# 版本比较
nvm exec 16.20.0 node --version
nvm exec 18.17.0 node --version

# 批量操作
nvm install 16.20.0 18.17.0 20.5.0
nvm use 18.17.0
nvm alias default 18.17.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#Node.js#tool#Web
上次更新: 2026/10/18, 22:14:48
npm 完整使用指南
javascript 入门指南

← npm 完整使用指南 javascript 入门指南→

最近更新
01
Codex 使用与会话管理指南
10-17
02
Tailscale 入门:让自己的设备跨网络互联
10-15
03
GitHub CLI(gh)工作流与 CI 排查
10-08
更多文章>
Theme by Vdoing | Copyright © 2019-2026 Jacky | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式