一台设备上如何使用多个 Node.js 版本

一台机器管理多个 Node 版本用 nvm:nvm install 22 / nvm install 24 安装多版本,nvm use 切换,nvm alias default 设默认。项目内可用 .nvmrc 文件自动锁定版本,Windows 用 nvm-windows。

最佳实践
文件、模块与依赖组织示意

用 nvm(Node Version Manager)就能在同一台设备上安装并切换任意多个 Node 版本:nvm install 22 和 nvm install 24 并存,nvm use 24 切换当前 shell 使用的版本,nvm alias default 24 设全局默认。在项目根目录放一个 .nvmrc 文件(内容如 24),进入目录后 nvm use 即可自动切到项目要求的版本。

nvm 常用命令

nvm install 22          # 装 Node 22 最新小版本
nvm install --lts       # 装最新 LTS
nvm ls                  # 列出本机已装版本
nvm ls-remote           # 列出可安装的远程版本
nvm use 22              # 当前 shell 切到 22
nvm alias default 24    # 新终端默认用 20
nvm current             # 查看当前版本

项目级版本锁定:.nvmrc

echo "24" > .nvmrc
nvm use        # 读取 .nvmrc 自动切换

团队成员和 CI 都靠这个文件对齐版本。配合 package.json 的 engines 字段可以更严格地约束。

Windows 与备选方案

  • nvm-windows:nvm install 24.11.0 / nvm use 24.11.0,注意要用管理员权限的终端;
  • n:Linux/macOS 上更轻量的替代品,交互式切换;
  • volta / fnm:Rust 写的新一代管理器,进入目录自动切版本(无需手动 nvm use),速度更快;
  • Docker:每个项目用不同的 node:xx 镜像,彻底隔离。

常见问题(FAQ)

Q:切换版本后全局包要重装吗?

nvm 下每个版本的 global node_modules 独立。用 nvm install 24 --reinstall-packages-from=18 可以从旧版本迁移全局包。

Q:nvm use 只影响当前终端吗?

是的,只改当前 shell 的 PATH。想让所有新终端默认用某版本,必须 nvm alias default <版本>。

Q:IDE 里终端版本不对怎么办?

IDE 启动的终端会重新加载 shell 配置,确认 nvm 初始化脚本写在 ~/.bashrc 或 ~/.zshrc 中,并重启 IDE;部分 IDE 还需在项目设置里手动指定 Node 解释器路径。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台