跳到主要内容

Bun 速查表

Bun 是一个超快速的全能 JavaScript 运行时、打包器和包管理器。使用 JavaScriptCore 引擎(而非 V8),目标是替代 Node.js、npm、npx 和 esbuild 等多个工具,让 JavaScript 工具链归一。

更新: 2026-07-20·36 条命令

快速开始

``bash # 运行脚本 bun run index.ts

# 监听模式——文件变更自动重启 bun run --watch index.ts

# 热替换模式——无需重启 bun --hot server.ts

# 启动开发模式(来自 package.json) bun dev

# 安装依赖 bun install

# 添加包 bun add zod

# 运行一次性 npm 包 bun x cowsay 'hello bun'

# 运行测试 bun test `

安装与设置

`bash bun --version # 查看版本 bun upgrade # 升级到最新 bun --help # 查看帮助 `

基础使用

`bash bun run index.ts # 运行文件 bun run --watch index.ts # 监听模式(自动重启) bun --hot server.ts # 热重载(无需重启) bun --smol index.ts # 低内存模式 bun . # 自动检测入口点 bun dev # 运行 dev 脚本 bun start # 运行 start 脚本 `

包管理

`bash bun install # 安装所有依赖 bun add zod # 添加依赖 bun add -d @types/bun # 添加开发依赖 bun add --exact zod@3.23.0 # 添加精确版本 bun remove zod # 移除依赖 bun update # 更新所有依赖 bun pm cache # 查看/清理缓存 bun pm ls # 列出已安装依赖 `

测试与调试

`bash bun test # 运行所有测试 bun test --watch # 监听模式 bun test --coverage # 生成覆盖率报告 bun test --bail # 首次失败即停止 bun test --timeout 10000 # 每个测试超时(毫秒) `

打包构建

`bash bun build ./src/index.ts --outdir ./dist # 打包为单文件 bun build --target bun ./src/index.ts --outdir ./dist # 指定 Bun 目标 bun build --minify ./src/index.ts --outdir ./dist # 压缩输出 bun build --splitting ./src/pages/*.tsx --outdir ./dist # 代码分割 bun build --sourcemap=external ./src/index.ts --outdir ./dist # 外部 SourceMap `

高级功能

`bash bun x cowsay 'hello' # 运行 npm 包(无需安装) bun create next-app # 从模板创建项目 bun init # 初始化新项目 bun link # 注册本地包到全局 bun patch lodash # 修补已安装的 npm 包 bun publish # 发布到 npm bun fig # 生成 Fig 自动补全规范 `

常见问题

### 如何配置 Bun?

在项目根目录创建 bunfig.toml(~/.bunfig.toml 也同样有效)。示例:

`toml [install] cache = true production = false frozenLockfile = false registry = "https://registry.npmjs.org/"

[test] preload = "./test/setup.ts" `

### bun.lock 是如何工作的?

Bun 使用二进制 lockfile 格式(bun.lock)而非 JSON。解析速度更快,磁盘占用更小。可以通过插件转换为 package-lock.json。建议提交到版本控制。要重新生成:删除 node_modulesbun.lock,然后运行 bun install

### Bun 如何处理环境变量?

Bun 自动加载 .env 文件——无需 dotenv。它会读取 .env.env.local.env.production(根据 NODE_ENV 决定)。通过 process.env 访问:

`typescript const db = process.env.DATABASE_URL; `

### 能在现有 Node.js 项目中使用 Bun 吗?

可以!在任何 Node.js 项目中运行 bun install 即可替代 npm/yarn。大多数项目可以直接使用 bun run dev / bun run build`,因为 Bun 支持 package.json 脚本且兼容 Node.js API。部分项目可能需要针对边缘情况的 Node.js 内部 API 做少量调整。

安装升级(3)

命令难度
bun --version
显示 Bun 版本号
基础
bun upgrade
升级 Bun 到最新版本
基础
bun --help
显示 Bun 帮助信息
基础

基础使用(7)

命令难度
bun run
运行 JavaScript/TypeScript 文件
基础
bun run --watch
监听模式,文件变更自动重启
中级
bun --hot
热替换模式,修改后无需重启即可生效
中级
bun --smol
低内存模式(适合资源受限环境)
中级
bun .
自动检测并运行当前目录包的入口点
基础
bun dev
启动开发模式(监听+热重载)
基础
bun start
运行 package.json 中定义的 start 脚本
基础

包管理(9)

命令难度
bun install
根据 package.json 安装所有依赖
基础
bun add
添加依赖包到项目
基础
bun add -d
添加开发依赖
基础
bun add --exact
添加依赖并锁定精确版本
中级
bun remove
移除依赖包
基础
bun update
将所有依赖更新到最新兼容版本
中级
bun pm cache
查看或清理缓存目录
中级
bun pm ls
列出已安装的直接依赖
中级
bun bun.lock
查看生成的 lock 文件(二进制格式)
高级

测试调试(5)

命令难度
bun test
运行测试(兼容 Jest 和 Node 测试)
基础
bun test --watch
监听模式运行测试
中级
bun test --coverage
运行测试并生成覆盖率报告
中级
bun test --bail
首次失败即停止测试
基础
bun test --timeout 10000
设置每个测试的超时时间(毫秒)
中级

打包构建(5)

命令难度
bun build
打包 JavaScript/TypeScript 为单文件
中级
bun build --target bun
打包为 Bun 本地运行时目标
中级
bun build --minify
打包并压缩代码
中级
bun build --splitting
启用代码分割(多入口)
高级
bun build --sourcemap=external
打包并生成外部 SourceMap
中级

高级功能(7)

命令难度
bun x
运行 npm 包(无需安装)
基础
bun create
从模板创建新项目
基础
bun init
初始化新项目并生成 package.json
基础
bun link
注册本地包用于全局链接
中级
bun patch
修补已安装的 npm 包
高级
bun publish
发布包到 npm 注册表
中级
bun fig
生成 Fig 自动补全规范
高级

常见问题

本速查表数据整理自各工具官方文档。最后更新: 2026-07-20。