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 執行環境