首页 / Node.js 教程 / NVM 与开发环境

Node.js 教程

NVM 与开发环境

本教程共 76 篇 · 第 3 篇 · 更新于 2026-07-25 · 约 6 分钟阅读

Node.jsnvm版本管理VS Code开发环境

3. NVM 与开发环境

本节目标:用 NVM 管理多版本 Node.js,配置 VS Code 让它成为趁手的 Node.js 开发环境,以及跑通断点调试。

为什么需要版本管理

现实很骨感:你手头三个项目,一个要求 Node.js 18,一个要求 20,另一个在用 24 的新特性。每次切项目都重装一遍 Node.js?人会疯的。

NVM(Node Version Manager)就是来解决这个问题的。它让你在同一台机器上装多个 Node.js 版本,按项目随时切换。

Tip

如果你只装了一个版本、只有一个项目,NVM 可以先跳过。但相信我,最多三个月你就会回来装它。


macOS / Linux 装 NVM

一行命令搞定:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

或者用 wget

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

装完后关闭终端再打开(或者 source ~/.bashrc / source ~/.zshrc),验证:

nvm --version

看到版本号就是成功了。


Windows 装 nvm-windows

Windows 上不能用上面那个 NVM,得用专门的 nvm-windows

  1. 去 Releases 页面下载 nvm-setup.exe
  2. 双击安装。安装路径默认即可,它会自动帮你管理 Node.js 版本。
  3. 装完开一个新的 PowerShell:
nvm version
Warning

Windows 上如果之前用安装包装过 Node.js,建议先卸载掉,再让 nvm-windows 接管。不然 PATH 容易打架,你会体验到什么叫「明明装了却找不到命令」。


NVM 常用操作

安装版本

nvm install 24           # 装 v24 最新小版本
nvm install 22.14.0      # 装指定版本
nvm install --lts        # 装最新 LTS(macOS/Linux)

Windows 用户没有 --lts 参数,直接:

nvm install 24.18.0

查看和切换

nvm list                 # 看本地装了哪些
nvm list available       # Windows:看远端有哪些可装
nvm ls-remote            # macOS/Linux:看远端有哪些可装

nvm use 24               # 切换到 v24
nvm use 22.14.0          # 切到指定版本

设置默认版本

新开终端时自动用这个版本,不用每次都 nvm use

nvm alias default 24

Windows:

nvm use 24.18.0
nvm alias default 24.18.0

按项目锁定版本:.nvmrc

团队项目最怕「我这边能跑,你那边报错」。在项目根目录建一个 .nvmrc 文件:

24.18.0

或者只写大版本:

24

以后进到这个项目目录,敲:

nvm use

NVM 会自动读取 .nvmrc 并切换。配合 auto-use 插件(zsh/fish 有),连 nvm use 都不用敲,cd 进目录自动切。

Note

有些 CI/CD 平台(如 GitHub Actions)也认 .nvmrc,一行 node-version-file: '.nvmrc' 就能对齐本地和云端环境。


VS Code 配置

VS Code 是目前 Node.js 开发的事实标准编辑器。装完 Node.js 和 NVM 后,花五分钟配好 VS Code,开发效率能翻倍。

必装插件

  1. ESLint —— 代码风格和质量检查,能在你保存时自动修复常见问题。
  2. Prettier - Code: formatter —— 统一代码格式,告别「引号用单还是双」的争论。
  3. npm Intellisense —— import 时自动补全 npm 包名,不用来回翻 node_modules
  4. Path Intellisense —— 补全本地文件路径,import 时特别好用。
  5. Error Lens —— 把 ESLint 和 TypeScript 错误直接显示在行尾,不用 hover 看。
Tip

别一次性装几十个插件。上面这五个够你用到进阶阶段了。插件装太多,VS Code 启动会变慢。

配置文件

在项目根目录建 .vscode/settings.json

{
  "editor.formatOnSave": true,
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "always"
  },
  "eslint.validate": ["javascript", "javascriptreact"]
}

这样每次保存文件,Prettier 自动格式化,ESLint 自动修能修的问题。

集成终端

Ctrl+` 打开内置终端。VS Code 会自动继承你系统的 shell 环境,NVM 切换过的版本在这里同样生效。建议把默认终端改成你常用的 shell(Windows 用 PowerShell,macOS 用 zsh)。


断点调试

在代码里 console.log 排查问题,是初学者标配,也是中级开发者最该戒掉的坏习惯。

VS Code 的 Node.js 调试非常好用,配一次受益整个项目。

快速调试(零配置)

打开一个 .js 文件,按 F5,VS Code 会检测当前文件并用 Node.js 运行。左边会出现调试面板,你可以:

  • 点行号左侧设断点
  • F10 单步跳过
  • F11 单步进入
  • Shift+F11 跳出函数
  • F5 继续运行到下一个断点

进阶配置:launch.json

F5 时如果弹出「选择环境」,选 Node.js。VS Code 会在 .vscode/launch.json 生成配置:

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "skipFiles": ["<node_internals>/**"],
      "program": "${workspaceFolder}/app.js"
    }
  ]
}

如果项目用 ESM("type": "module"package.json 里),需要加一行:

{
  "type": "node",
  "request": "launch",
  "name": "Launch ESM",
  "program": "${workspaceFolder}/app.js",
  "runtimeArgs": ["--experimental-specifier-resolution=node"]
}
Note

自 v24 起,ESM 的支持已经非常成熟,大部分场景不需要 --experimental 这些 flag 了。但如果你的项目用了比较新的特性(比如 import 断言),调试配置可能需要额外调整。

调试带参数的程序

{
  "type": "node",
  "request": "launch",
  "name": "Debug with args",
  "program": "${workspaceFolder}/cli.js",
  "args": ["--env", "production", "--port", "8080"]
}

这样启动调试时,会自动带上 node cli.js --env production --port 8080


环境检查清单

配完开发环境,确认下面几项都能正常工作:

node -v           # 期望 v24.x.x(或你项目要求的版本)
npm -v            # 期望 10.x.x
nvm list          # 能看到你装过的所有版本

VS Code 里打开一个 .js 文件,随便写个 console.,看有没有代码补全。按 F5 能不能直接跑起来。这些都对了,你的开发环境就就绪了。

下一章我们写第一行代码。