一、Bun 是什么?------ 打破工具链割裂的全栈解决方案
Bun 是一款以 "高性能、一体化" 为核心的 JavaScript/TypeScript 开发工具,它并非单一功能工具,而是整合了运行时、包管理器、构建工具、测试框架的一站式解决方案。与 Node.js、Deno 等仅聚焦运行时的工具不同,Bun 从底层重构了 JavaScript 开发链路,通过 Zig 语言编写的内核实现极致性能,同时兼容 Node.js 生态,让开发者无需在多个工具间切换,大幅提升开发效率。
自发布以来,Bun 凭借 "零配置、高性能、全功能" 的特点迅速崛起,尤其在 2025 年推出的 v1.2.21 和 v1.2.22 版本中,新增了 SQL 客户端、YAML 原生支持等重磅功能,进一步巩固了其 "全栈开发加速器" 的定位。
Bun 是一个一体化的 JavaScript 工具包,集成了:
- JavaScript 运行时 - 可直接替代 Node.js
- 包管理器 - 可替代 npm、yarn 或 pnpm
- 构建工具 - 可替代 Webpack、Vite 等构建工具
- 测试运行器 - 内置测试框架
二、核心亮点:为什么选择Bun
-
性能碾压:速度与资源效率双突破
Bun 的性能优势贯穿开发全流程:
包管理速度:bun install 比 npm 快 25 倍、yarn 快 30 倍,安装 Remix 等大型项目时,Bun 仅需 0.4 秒,而 npm 需 10.6 秒;
运行时性能:Worker 间 postMessage 字符串传输速度提升 500 倍,简单对象 structuredClone 性能提升 240 倍;
资源优化:空闲时服务器进程真正休眠,CPU 使用率接近为零,解决了传统运行时 "空转耗电" 的痛点。
-
全栈工具链:一套工具搞定所有开发需求
Bun 彻底终结了 "运行时 + 包管理器 + 构建工具 + 测试工具" 的繁琐组合:
运行时:支持 Node.js API 兼容、WebSocket、HTTP 服务,异步迭代器让流式处理更简洁;
包管理器:支持工作区、全局缓存、安全扫描,默认禁用危险的 postinstall 脚本,内置 bun audit 漏洞检测工具;
构建工具:Bun.build() 支持编程式编译可执行文件,跨平台打包 Windows/Mac/Linux 应用,还能嵌入 Windows 元数据(如图标、版本信息);
测试框架:内置测试工具,支持快照测试、代码覆盖率分析,无需额外配置。
-
2025 重磅更新:这些新功能太实用了
Bun 近期的两个版本带来了多项 "刚需" 特性,进一步降低开发门槛:
统一 SQL 客户端:Bun.SQL 零依赖支持 MySQL/MariaDB、SQLite、PostgreSQL,用简洁的标记模板语法执行查询,兼顾类型安全与原生 SQL 体验:
import { SQL } from "bun"; const sql = new SQL({ adapter: "mysql", hostname: "127.0.0.1", database: "test" }); const users = await sql`SELECT * FROM users WHERE age > 18;`.all();
- 原生 YAML 支持:直接导入 .yaml/.yml 文件,或用 Bun.YAML.parse 解析字符串,与 JSON、TOML 支持保持一致;
- 异步堆栈跟踪:错误日志将显示完整异步调用链,彻底解决 async/await 调试 "断链" 问题;
- 本地密钥管理:Bun.secrets 借助系统原生凭据存储(macOS 钥匙串、Windows 凭据管理器),安全存储敏感数据,告别明文配置。
三、安装
Windows 系统
-
通过 PowerShell 安装(推荐):
powershell# 打开 PowerShell 并运行 irm bun.sh/install.ps1 | iex -
通过 Winget 安装:
powershellwinget install Oven.Sh Bun -
通过 Chocolatey 安装:
powershellchoco install bun
macOS 系统
-
通过 curl 安装(推荐):
bashcurl -fsSL https://bun.sh/install | bash -
通过 Homebrew 安装:
bashbrew tap oven-sh/bun brew install bun -
通过 MacPorts 安装:
bashsudo port install bun
Linux 系统
-
通过 curl 安装(推荐):
bashcurl -fsSL https://bun.sh/install | bash -
通过包管理器安装:
bash# Debian/Ubuntu sudo apt-get install -y unzip curl -fsSL https://bun.sh/install | bash # Fedora/CentOS sudo dnf install -y unzip curl -fsSL https://bun.sh/install | bash
安装后验证
安装完成后,重启终端并运行以下命令验证安装:
bash
bun --version
Bun 常用命令
| 命令 | 说明 |
|---|---|
bun install |
安装项目依赖 |
bun run <script> |
运行 package.json 中的脚本 |
bun dev |
启动开发服务器 |
bun build |
构建项目 |
bun test |
运行测试 |
bunx <package> |
临时运行包而不安装 |
与 npm/pnpm 的对比
如果您熟悉 npm 或 pnpm,可以参考以下对比:
| npm/pnpm 命令 | Bun 等效命令 |
|---|---|
npm install |
bun install |
npm run dev |
bun dev 或 bun run dev |
npx <package> |
bunx <package> |
npm install <package> |
bun add <package> |
npm install -D <package> |
bun add -d <package> |
注意事项
-
首次使用:Bun 安装后可能需要重启终端或计算机才能正确识别命令。
-
环境变量:如果遇到权限问题,可能需要将 Bun 添加到系统 PATH 环境变量中。
-
兼容性:虽然 Bun 与大多数 npm 包兼容,但某些特定于 Node.js 的原生模块可能不完全兼容。
-
IDE 集成:大多数现代 IDE(如 VS Code)支持 Bun,您可能需要配置默认的包管理器。
-
最好不要使用
npm来安装bun,这样会削弱其高性能的优势,可能会导致循环依赖,从而造成无法正常工作。