Bun核心從Zig轉向Rust重寫
Bun JavaScript 執行環境的開發團隊宣布將核心程式碼從 Zig 重寫為 Rust,相關 Pull Request 已於 2026 年 5 月正式併入主分支。
背景
Bun 原以 Zig 語言開發,是一套可同時作為 JavaScript 執行環境、套件管理器與測試工具的全能方案,在部分情境下可取代 Node.js。底層使用 Apple 開源的 JavaScriptCore 作為 JS 引擎。
改用 Rust 的原因
主要作者 Jarred Sumner 表示:
- 厭倦持續修正記憶體洩漏、崩潰與穩定性問題
- Rust 的型別系統與生命周期檢查可讓編譯器協助預防記憶體錯誤
- 使用解構子(destructors)處理資源釋放
- 需要重構的
unsafe程式碼更容易被識別
現況(2026-05-18)
- 重寫規模:約 96 萬行程式碼
- Linux x64 glibc 環境通過測試套件 99.8%
- 已併入主分支,但尚未進入穩定版(仍需最佳化與清理)
- 其他平台(Windows、macOS)將接續跟進
同期版本更新(Bun 1.3.14)
- 新增
Bun.Image圖片處理功能 - 全域虛擬套件儲存(符號連結機制,減少重複複製)
- 實驗性 HTTP/3 支援(
Bun.serve) - 重寫檔案變更監看功能
- JavaScriptCore 升級
- 縮小 Linux/Windows 可執行檔體積
來源文章
相關頁面
- bun — Bun 執行環境