这次迁移亦绝非简单的语言替换,而是 Bun 团队为解决长期稳定性顽疾、适配 AI 工具生态做出的战略性工程升级。
更重磅的幕后信息被官方披露:Bun 早已在2025年12月就被 Anthropic 收购,本次大规模重构,核心目的之一就是适配 Claude Code 内部 AI 开发工具的底层运行需求。收购消息一经发布,迅速登顶 Hacker News,斩获219高赞,引发全网开发者围绕「Zig vs Rust」以及「AI 大规模重构边界」展开激烈辩论。
Bun 诞生于2021年4月,创始人 Jarred Sumner 最初只是将 esbuild 的 Go 代码逐行移植为 Zig。选择 Zig,核心是看中它极简的语法文档、零开销抽象与极致的底层操控能力。
仅凭一己之力,Jarred 在狭小的公寓内快速搭建起一站式前端全栈工具全家桶:集成 JS/TS/CSS 转译打包、npm 兼容包管理器、Jest 风格测试运行器、完整 Node.js 模块解析、HTTP/WebSocket 客户端,以及数十项 Node.js API 兼容能力。
极致的集成度与速度优势,让 Bun 迅速席卷前端生态。如今其 CLI 月下载量突破 2200 万,Vercel、Railway、DigitalOcean 等主流云平台原生适配,Claude Code、OpenCode 等 AI 开发工具均将其作为默认核心运行时。
Zig 成就了 Bun 的快速崛起,但手动内存管理的极致灵活,也为大型项目埋下了无法根治的稳定性隐患。
随着项目的不断迭代,Bun 累计沉淀超 53 万行 Zig 代码,大量隐蔽的内存安全 bug 集中爆发,成为迭代最大瓶颈。
在 v1.3.14 版本中,团队修复的典型高危问题遍布核心模块:
node:zlib 异步写入释放后野指针崩溃、node:http2 重入回调引发哈希表内存重复释放、UDPSocket 缓冲区分离异常、Buffer 读写越界、crypto.scrypt 内存泄漏、CSS 解析器双重释放等顽固性问题。
这类 bug 的根源高度统一:Zig 无原生构造/析构函数,所有内存生命周期,完全依赖开发者手动通过 defer/errdefer 管控,同时还要适配 JavaScript 垃圾回收机制。即便团队叠加 ASAN 内存检测、模糊测试、7×24小时泄漏监控等严苛手段,也只能被动修 bug、无法从根源杜绝隐患。
无休止的补丁式修复难以支撑长期迭代,团队最终下定决心:放弃修补,通过整体语言迁移彻底根治内存安全问题。
团队对比 Go、C++ 等语言后,最终锁定 Rust,核心原因只有一个:从根源消灭内存安全 bug。
Zig 依赖人工手写 defer 回收资源,极度考验开发者细心;C++ 依靠析构函数与代码规范,依旧无法规避人为疏漏。而 Rust 凭借借用检查器 + Drop 特征,在编译阶段自动精准管理资源生命周期,确保内存有且仅有释放一次,将大量内存错误直接拦截在编译阶段。
这一点对 Bun 这类「手动内存 + JS 垃圾回收」双模式运行的 runtime 至关重要。
本次迁移采用纯机械移植方案:不改动原有架构、业务逻辑与性能特性,最大程度降低用户使用成本,仅将原有 Zig 代码完整转换为 100 个 Rust 子仓库(crate),全程攻克 16000 余个编译错误与循环依赖难题。
本次“史诗级”重写,并非人力攻坚,而是一场AI 驱动的大规模工程重构实验:仅一名工程师,借助 Anthropic 预发布版 Claude Fable 5 全程主导完成。
整个项目却消耗了海量 AI 算力:59 亿输入 Token、6.9 亿输出 Token、720 亿缓存读取,折合 API 成本约 16.5 万美元。团队设计了多 AI 实例并行协作流程:一个模型负责代码生成、一个对抗性审查纠错、一个专项迭代修复,形成全自动闭环开发。
验证环节极其严苛,覆盖全场景测试:烟雾测试、随机分片测试、跨 Linux/macOS/Windows 全量 CI 校验,以及基于 cgroups 的资源隔离压力测试。最终所有平台测试100%通过,同时产出 PORTING.md、LIFETIMES.tsv 等完整迁移文档,方便后续开源贡献者迭代。
目前新版本仍然保留约 4%(1.3 万处)unsafe 代码,团队将在后续版本持续优化,迭代为标准、规范的 Rust 写法。
完成 Zig 转 Rust 重构后,Bun 迎来全方位体验升级,各项核心指标显著优化:
内存占用断崖式下降:原 Zig 版本单次构建泄漏约3MB,2000次构建后内存占用高达6745MB;Rust 版本仅需 609MB,内存利用率大幅提升,且可通过 LeakSanitizer 完整追踪原生内存分配。
安装包体积缩减20%:通过代码折叠、ICU 数据清理、zstd 延迟解压等优化,Linux 版由 88MB 降至 70MB,Windows 版由 94MB 降至 76MB。
性能稳步提升2%–5%(Linux Xeon 铂金平台):HTTP 服务吞吐量从 169.6k req/s 升至 177.7k(+4.8%);Next.js 构建速度从13.62s 压缩至13.03s(+4.5%);Vite 构建、TS 编译等常规任务均有提速,Claude Code 启动速度优化10%。
稳定性彻底革新:新版一次性修复旧版本 128 个顽固 bug,彻底解决高频崩溃问题。百万级测试用例全覆盖,仅少量语义差异已全部修复,兼容性拉满。
事件在 Hacker News 技术社区引发两极之热议。支持者认为,这是AI 大规模重构开源项目的里程碑,证明 Rust 强类型安全体系,是大型基础设施项目长期维护的最优解。
质疑声音同样尖锐:大规模 LLM 生成代码存在「vibe coding」隐患,可维护性存疑;不少开发者认为这是 Anthropic 借 Bun 刷案例的营销行为;
有 Zig 忠实粉丝提出,同等人力投入下,Zig 优化也能达到相近效果,根本无需彻底更换语言。此举是因为与Anthropic的路线冲突,因为Zig拒绝使用LLM贡献。
深度技术讨论最终达成部分共识:Zig 胜在极致简洁与底层可控,适合小型高性能模块;而 Rust 的编译期安全、适配 AI 迭代的特性,更适合 Bun 这类复杂、长期迭代的基础设施级项目。
Bun 本次 11 天史诗迁移,为整个开源行业带来全新启示:AI 已具备「翻译-审查-修复-测试」全链路工程能力,能将数十人月的工作量压缩至十余天完成。同时也印证:强类型、高安全的现代语言,正在 AI 时代重新定义工程效率。
对开发者而言,这次升级意味着 Bun 彻底告别内存 bug 频发的困境,稳定性、性能、可维护性全面进阶;对开源生态而言,它提供了一套「AI 机械迁移 + 全量严格测试」的成熟重构范式。
v1.4.0 只是 Bun Rust 时代的起点。官方后续将持续清理 unsafe 代码、完善标准 Rust 写法、升级模糊测试体系、压缩二进制体积,依托 Miri、LeakSanitizer 持续筑牢底层稳定性。
从 Zig 极致性能,到 Rust 极致稳定,Bun 的转型清晰印证了一个趋势:AI 时代的工具链竞争,短期拼速度,长期拼安全、拼可维护、拼可持续迭代。这场由 AI 主导的史诗级重构,也正式拉开了前端底层工具链升级的全新序幕。
体验新版的Bun可执行命令:
bun upgrade --canary作者:场长
本篇文章为 @ 场长 创作并授权 21CTO 发布,未经许可,请勿转载。
内容授权事宜请您联系 webmaster@21cto.com或关注 21CTO 微信公众号。
该文观点仅代表作者本人,21CTO 平台仅提供信息存储空间服务。
请扫描二维码,使用微信支付哦。