使用 Bun 1.3 独立可执行二进制文件部署无 Node 运行时的服务器
8 de maio de 2026
0
Computing/SoftwareRelated Video
7:18闲聊、Bun 的演进及更多精彩内容!
Maximilian Schwarzmüller
Comments (0)
Log in to leave a comment
No posts yet
7:18Maximilian Schwarzmüller
Log in to leave a comment
No posts yet
在部署后端时,逐个服务器对齐 Node 版本并传输包含数万个文件的 node_modules 文件夹是一件令人厌烦的事情。使用 Bun 的 build --compile 即可结束这种体力劳动。它能将运行时引擎、源代码和库合并为一个独立的可执行文件。无论目标服务器是否安装了 Node 都无所谓,只需移动一个文件并运行即可完成部署。截至 2026 年,Bun 1.3 的吞吐量比 Node 高出 4 倍,但比性能更具吸引力的是部署的简洁性。
创建可执行文件并上传到服务器的过程非常清晰:
bun build ./src/index.ts --compile --minify --target=bun-linux-x64 --outfile my-app。这将生成针对 Linux 优化的文件。scp ./my-app user@remote-server:/usr/local/bin/ 将文件发送到服务器。chmod +x /usr/local/bin/my-app 赋予权限并运行 ./my-app。这比构建 Docker 镜像并推送到仓库的时间快 80% 以上。如果你想专注于代码而非繁琐的基础设施配置,这种方式就是标准答案。
Anthropic 收购 Bun 不仅仅是因为速度。当像 Claude Code 这样的 AI Agent 在终端编写代码并运行测试时,Bun 仅 8ms 左右的启动速度几乎消除了 Agent 的推理延迟。运行 Jest 并喝杯咖啡的时代已经过去了。现在,AI 修改代码并确认测试结果的周期已缩短至秒级。
通过 Claude Code 提高调试效率的方法如下:
bun-test-runner。让 AI 直接读取终端日志。bun test --watch 进行基准测试。无需在终端和编辑器之间来回切换。由于 Bun 的测试运行器比 Jest 快 20 倍,与 AI Agent 协作时产生的等待时间彻底消失。工具变快了,人的思维流也不会被打断。
AdonisJS V6 已正式支持 Bun。特别是 Bun 内置的 bun:sqlite 比 Node 的 better-sqlite3 快 3 到 6 倍。如果你正在运行一个包含大量数据库 I/O 的侧边项目,与其提高基础设施规格,不如只更换运行时来提升响应速度。这是不花钱提升性能最可靠的方法。
迁移现有项目的步骤很简单:
package-lock.json 并运行 bun install 以生成 bun.lockb。package.json 中的所有 node 命令替换为 bun。对于框架命令,添加 --bun 标志以确保兼容性,例如 bun --bun ace serve。import { Database } from "bun:sqlite" 来提高查询吞吐量。这样做可以将 CPU 和内存占用率降低 25% 以上。这意味着在相同的服务器成本下可以承载更多的用户。
在 CI/CD 中,最浪费时间的步骤就是安装依赖。使用 oven-sh/setup-bun Action 可以极大地缩短 GitHub Actions 环境中的这段时间。Bun 的包管理器采用硬链接方式,比 npm 快 35 倍。体验到原本需要数十分钟的构建缩短至数十秒,绝对会让你感到震撼。
YAML 配置只需记住以下三点:
oven-sh/setup-bun@v2 锁定最新运行时。bun install --frozen-lockfile 瞬间调用缓存的依赖项。run: bun test 完成测试并结束部署。原本超过 2 分钟的安装过程现在只需 5 秒。在等待构建的时间里,你可以处理其他事情。2026 年的开发竞争在于如何将聪明的 AI 与快速的运行时完美结合并实现自动化。将 Bun 与 Claude Code 组合使用,就是在这场战斗中握住了最锋利的武器。