导航
这篇笔记用于快速记录 Node.js 生态里最常见的工具和命令,偏速查用途。
一、Node.js 体系
Node.js
Node.js 是 JavaScript 的运行时,用来在浏览器之外运行 JS 程序。
常见用途:
- 跑本地脚本
- 启动开发服务器
- 运行前端构建工具
- 安装和运行基于 npm 的 CLI 工具
npm
npm 是 Node.js 默认自带的包管理器。
常见用途:
- 安装依赖
- 安装全局命令行工具
- 运行
package.json里的 scripts
npx
npx 用来直接运行 npm 包里的可执行命令,适合临时执行。
pnpm
pnpm 是更高效的包管理器,安装速度和磁盘利用率通常比 npm 更好。
yarn
yarn 也是常见包管理器之一,现在不少项目仍在使用。
二、Bun
Bun 是什么
bun 是一个更现代的一体化 JavaScript / TypeScript 工具。
它主要对标 Node.js,但同时又内置了 npm 这一类包管理能力,所以很多原本需要“Node.js + npm + 其他工具”组合完成的事情,可以直接由 bun 一套完成。
可以粗略理解成:
- Node.js:偏运行时
- npm:偏包管理器
- bun:把运行时、包管理、测试、打包等能力合在一起
Bun 内置的能力
- 运行时
- 包管理器
- 脚本执行
- 测试工具
- 打包工具
什么时候会用 Bun
常见场景:
- 想要更快的安装和执行速度
- 想减少工具数量
- 新项目直接用更现代的一套工具链
- TypeScript / 前端项目希望更省事
三、常见命令速查
查看版本
node -v
npm -v
npx -v
pnpm -v
yarn -v
bun -v初始化项目
使用 npm:
npm init
npm init -y使用 bun:
bun init安装依赖
使用 npm:
npm install <package>
npm install -D <package>
npm install -g <package>使用 bun:
bun add <package>
bun add -d <package>删除依赖
使用 npm:
npm uninstall <package>使用 bun:
bun remove <package>运行脚本
使用 npm:
npm run dev
npm run build
npm run test使用 bun:
bun run dev
bun run build
bun run test临时执行命令
使用 npx:
npx <command>例如:
npx create-next-app@latest
npx tsc --initbun 体系里常见的是:
bunx <command>四、常见文件
package.json
项目的核心配置文件,通常包含:
- 项目名称和版本
- scripts
- dependencies
- devDependencies
package-lock.json
npm 自动生成的锁文件,用于固定依赖版本。
bun.lock / bun.lockb
bun 的锁文件,用于固定依赖版本。
node_modules
依赖安装目录。
通常:
- 不手动修改
- 不提交大多数临时生成内容
- 出问题时可删掉后重装
五、常见包管理器对比
npm
优点:
- Node.js 默认自带
- 通用性最强
- 几乎所有项目都支持
pnpm
优点:
- 更省磁盘
- 安装通常更快
- 依赖管理更严格
yarn
优点:
- 一些老项目和前端工程仍在大量使用
- 历史生态较成熟
bun
优点:
- 主要对标 Node.js,但同时内置包管理能力
- 启动和执行速度通常很快
- 同时覆盖运行、安装依赖、测试等多种用途
- 对 TypeScript 和现代前端开发体验较友好
六、版本管理
如果机器上要维护多个 Node.js 版本,通常会用版本管理工具。
常见方案:
- nvm
- fnm
- mise
常见场景:
- 老项目要求 Node 18
- 新项目要求 Node 22+
- 不同项目的运行环境不同
七、常见排查动作
1. 先看版本
node -v
npm -v
bun -v2. 删除依赖重装
npm 项目:
rm -rf node_modules package-lock.json
npm installbun 项目:
rm -rf node_modules bun.lockb bun.lock
bun install3. 检查脚本是否存在
cat package.json重点看:
scriptsdependenciesdevDependencies
4. 看报错是不是版本不兼容
典型问题:
- Node 版本过低
- 包要求更新版本的 Node
- ESM / CommonJS 不兼容
- 工具链混用导致锁文件或依赖异常
八、常见场景
安装一个 CLI 工具
npm install -g <tool>在项目里安装依赖
npm install或:
bun install运行开发环境
npm run dev或:
bun run dev打包构建
npm run build或:
bun run build九、简版记忆
可以先粗略记成这样:
- node:运行 JavaScript
- npm:安装包、管理依赖
- npx:临时执行包里的命令
- pnpm / yarn:npm 的替代包管理器
- bun:主要对标 Node.js,但同时内置包管理、测试、打包等能力
- package.json:项目配置核心文件
- node_modules:依赖目录