┌────────────┐
│ nvm │ ← Node.js 管理员(帮你安装和切换不同版本)
└────┬───────┘
│
┌────▼───────┐
│ Node.js │ ← JavaScript 运行环境(相当于“发动机”)
└────┬───────┘
│
┌────▼───────┐
│ npm │ ← Node.js 自带的包管理器(相当于“应用商店”)
└────────────┘
Node.js
是一个 JavaScript 运行环境(Runtime)。
让 JS 可以在 服务器端 / 命令行 运行(不是浏览器里)。
内部基于 V8 引擎 + libuv。
Node.js 安装时自带:npm(Node Package Manager)-> 某个固定版本(例如:v20.19.0)
node -v # 查看 Node.js 版本
nvm(Node Version Manager)
是 Node.js 版本管理工具。
因为不同项目常常要求不同版本的 Node。
nvm 允许你:
- 同时安装多个 Node.js 版本;
- 一条命令切换版本。
例如:
nvm install 18.17.0
nvm install 20.19.0
nvm use 18.17.0
使用场景:
- 某个项目需要 Node 18;
- 另一个项目要 Node 20;
- 用 nvm 可以一键切换,不互相干扰。
这对像 n8n 这种工具尤为重要,因为它要求 Node 版本范围:>=20.19 <=24.x
npm(Node Package Manager)
是 Node.js 的包管理器。
功能类似于 Python 的 pip、PHP 的 Composer。
用来安装、更新、删除各种 JS 模块(依赖)。
注:npm 是 Node.js 附带的工具,不能单独运行。
npm install express
npm install -g n8n
npm update
npm uninstall lodash
使用场景:
- 给项目安装依赖;
- 安装全局命令工具(如 n8n、typescript、vite 等)。
总结
工具 | 全称 | 主要功能 | 是否随 Node 自带 | 常用命令 |
---|---|---|---|---|
nvm | Node Version Manager | 管理和切换 Node.js 版本 | ❌ 否 | nvm install / nvm use |
node | Node.js Runtime | 运行 JS 程序 | ✅ 是 | node app.js / node -v |
npm | Node Package Manager | 安装和管理 JS 包 | ✅ 是 | npm install / npm start |