Claude Code 现已改用 Rust 重写的 Bun 运行时
在 用Rust重写Bun 中,Jarred Sumner 提出了如下观点:
Claude Code v2.1.181(于6月17日发布)及之后的版本,都采用了 Bun 的 Rust 端口。在 Linux 上,启动速度提升了10%,但除此之外,几乎无人察觉。 无聊,反而是一件好事。
我决定亲自检查一下自己安装的 Claude Code,看看是否能找到证据表明它正在使用由 Rust 编写的 Bun。
我发现以下两条命令颇具说服力:
strings ~/.local/bin/claude | grep -m1 'Bun v1'
对于我来说,输出结果是 Bun v1.4.0(macOS arm64)。目前,Bun 在 GitHub 上 的最新版本是 5月12日发布的 v1.3.14, 因此 Claude 中的 v1.4.0 版本号,正好支持他们推出一个尚未正式发布的 Bun 版本的预览版。
(更新:Rust 版本已正式发布为 面包金丝雀——运行 bun upgrade --canary 将会安装 本次发行。 )
strings ~/.local/bin/claude | grep -Eo 'src/[[:alnum:]_./-]+.rs'
这段命令会列出 563个文件名, 其中以这些文件开头:
src/runtime/bake/dev_server/mod.rs src/runtime/bake/production.rs src/bundler/bundle_v2.rs
看来,Bun 在 Rust 中确实被用于生产环境,覆盖了数以百万计的不同设备。正如 Jarred 所说:“无聊,反倒是一件好事。”
更新:这里还有一个很实用的小技巧,适用于 来自阿詹·拉吉:
cat > /tmp/bun-version.ts <<'EOF' console.log("嵌入式 Bun:", Bun.version); process.exit(0); EOF BUN_OPTIONS="--preload=/tmp/bun-version.ts" claude --version
运行此命令后,我得到了版本号 1.4.0。
接下来是 5月17日提交, 它将 package.json 中的版本号更新为了 1.4.0。自那以后,该版本未再做任何修改,但至今仍未正式发布为带有标签的版本, 仅在 Canary 阶段之外的环境中投入使用。