Node.js入门教程(五):NVM 管理多版本 Node.js

一、为什么需要 nvm?

在日常开发中,我们经常会遇到需要切换 Node.js 版本的情况:

场景 说明
不同项目需求不同 项目 A 需要 Node.js 18,项目 B 需要 Node.js 16
兼容性测试 测试应用在不同 Node.js 版本下的运行情况
版本升级 方便升级到最新版本,同时保留旧版本以便回退
尝鲜新特性 使用 Current 版本体验新功能,不影响生产项目

nvm(Node Version Manager) 正是为了解决这些问题而生的工具,它可以让你在同一台机器上安装和管理多个 Node.js 版本,并在它们之间快速切换。

二、安装 nvm

在 macOS / Linux 上安装

使用 curl 安装:

复制代码
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

或使用 wget 安装:

复制代码
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

安装完成后,重新加载 shell 配置:

复制代码
# 如果使用 bash
source ~/.bashrc

# 如果使用 zsh
source ~/.zshrc

验证安装是否成功:

复制代码
nvm --version
# 输出类似:0.39.3

在 Windows 上安装(nvm-windows)

Windows 用户需要使用 nvm-windows(不同于 macOS/Linux 的 nvm):

  1. 访问 nvm-windows 发布页面:https://github.com/coreybutler/nvm-windows/releases

  2. 下载 nvm-setup.zip

  3. 解压并运行安装程序,按照向导完成安装

安装完成后,打开新的命令行窗口验证:

复制代码
nvm --version

三、nvm 常用命令

版本管理命令

命令 说明
nvm --version 查看 nvm 版本
nvm list-remote 列出所有可安装的 Node.js 版本(macOS/Linux)
nvm list available 列出可安装的 Node.js 版本(Windows)
nvm install <版本号> 安装指定版本
nvm install --lts 安装最新的 LTS 版本
nvm uninstall <版本号> 卸载指定版本

版本切换命令

命令 说明
nvm listnvm ls 列出已安装的版本
nvm use <版本号> 切换到指定版本
nvm current 查看当前使用的版本
nvm alias default <版本号> 设置默认版本

四、实际使用示例

1. 查看可安装的版本

复制代码
# macOS/Linux
nvm list-remote
# 输出大量版本列表,如 v18.17.0, v20.10.0 等

# Windows
nvm list available

2. 安装特定版本

复制代码
# 安装 Node.js 18.17.0
nvm install 18.17.0

# 安装 Node.js 16.20.1
nvm install 16.20.1

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

3. 列出已安装的版本

复制代码
nvm list

输出示例:

复制代码
->     v16.20.1
       v18.17.0
         system
default -> v16.20.1 (-> v16.20.1)

-> 表示当前正在使用的版本

4. 切换版本

复制代码
# 切换到 Node.js 18.17.0
nvm use 18.17.0

# 验证当前版本
node --version  # 输出:v18.17.0

# 切换到 Node.js 16.20.1
nvm use 16.20.1

# 验证当前版本
node --version  # 输出:v16.20.1

5. 查看当前使用的版本

复制代码
nvm current
# 输出类似:v18.17.0

6. 设置默认版本

每次打开新终端时,默认使用的版本:

复制代码
nvm alias default 18.17.0

7. 卸载版本

复制代码
nvm uninstall 16.20.1

五、项目级版本管理(.nvmrc)

nvm 支持通过 .nvmrc 文件为项目指定 Node.js 版本,实现自动切换。

创建 .nvmrc 文件

在项目根目录下创建 .nvmrc 文件,写入需要的版本号:

复制代码
# 在项目目录中
echo "18.17.0" > .nvmrc

使用 .nvmrc

进入项目目录后,执行 nvm use 会自动读取 .nvmrc 中的版本:

复制代码
cd my-project
nvm use
# 输出:Found '/my-project/.nvmrc' with version <18.17.0>
# 自动切换到 v18.17.0

六、不同项目使用不同版本

复制代码
# 项目 A 使用 Node.js 18
cd ~/projects/project-a
nvm use 18.17.0
node --version   # v18.17.0

# 项目 B 使用 Node.js 16
cd ~/projects/project-b
nvm use 16.20.1
node --version   # v16.20.1

这样在不同的项目目录之间切换时,可以快速切换到对应的 Node.js 版本。

七、验证安装是否成功

1. 检查 nvm 版本

复制代码
nvm --version

2. 创建测试程序

创建一个名为 hello.js 的文件:

复制代码
// hello.js
console.log('Hello, Node.js!');
console.log('Node.js 版本:', process.version);
console.log('当前工作目录:', process.cwd());
console.log('操作系统:', process.platform);

运行测试:

复制代码
node hello.js

预期输出(版本号取决于当前使用的版本):

复制代码
Hello, Node.js!
Node.js 版本: v18.17.0
当前工作目录: /Users/username/projects
操作系统: darwin

3. 检查全局安装路径

复制代码
# 查看 npm 全局包安装路径
npm config get prefix

# 查看 npm 配置
npm config list

# 查看 Node.js 安装路径(macOS/Linux)
which node

# 查看 Node.js 安装路径(Windows)
where node

八、本章小结

知识点 说明
nvm 是什么 Node Version Manager,用于管理多个 Node.js 版本
安装方式 macOS/Linux 用 curl/wget;Windows 用 nvm-windows
常用命令 nvm installnvm usenvm listnvm alias
项目配置 使用 .nvmrc 文件为项目指定版本
默认版本 nvm alias default 设置默认使用的版本
多项目切换 不同项目目录使用不同 Node.js 版本

提示 :养成在项目根目录放置 .nvmrc 文件的习惯,团队成员也能自动使用正确的 Node.js 版本。

相关推荐
MartinYeung53 小时前
npm爆发大规模供应链攻击 蠕虫污染 2000+ 个包版本: 深度技术剖析
前端·npm·node.js
鲟迹4 小时前
NVM 管理Node.js版本
node.js
万敏20 小时前
Vue3 全栈实战第五周:Vitest 单元测试从零搭建实战记录
vue.js·node.js·全栈
星栈1 天前
我以为 TS7.0 只是换个版本号,结果编译快了 9 倍,也踩了 5 个坑
后端·typescript·node.js
Synmbrf1 天前
Mosquitto 持久化消息积压导致网关内存耗尽的排查
node.js
AINative软件工程1 天前
LLM Streaming 背压工程实践:慢客户端、断流重连与服务端缓冲区的生产设计
node.js·llm
码林鼠2 天前
webpack的基本配置
前端·webpack·node.js
FeelTouch Labs2 天前
Node.js 中的 spawn 和 exec:子进程执行的不同方式对比
node.js·编辑器·vue·vim