Claude Code 原生构建:100MB 的二进制文件取代 Node

一个 100MB 的 CLI 二进制文件 Anthropic 刚刚宣布,Claude Code 已经可以作为 原生构建 使用了。翻译一下:这意味着你可以直接下载一个可执行的二进制文件(通过 curl 安装),不需要再依赖 Node.js。 听起来是不是很棒?一个命令,没有额外依赖,后台还能自动更新。简直就是每个 CLI 工具的梦想。 但是有一个问题:这个二进制文件竟然有 100MB 的大小。 作为对比,git 的二进制文件大约只有 3MB,而 curl 则不到 1MB。就算以生成较大二进制文件著称的 Go,它的文件一般也很少超过 15-20MB。 那么,这 100MB 到底装了些什么? 不是 Rust,而是披了可执行文件外衣的 Bun 当我看到这个公告时,第一反应是:“一定是用 Rust 重写了。” 毕竟,要实现快速的原生二进制文件,而且不依赖运行时,Rust 是明显的选择。 但事实并非如此。 Claude Code 仍然是 TypeScript。Anthropic 使用了 bun build --compile 命令,将其打包成了可执行文件。 bun build --compile 的工作原理 神奇的命令是这样的: bun build ./src/index.ts --compile --outfile claude 这个命令到底做了什么?分为三步来解释: 1. 打包 首先,Bun 作为一个打包工具,处理你的入口文件(比如 index.ts),解析所有的 import,并生成一个包含所有代码的单一 JavaScript 文件。在这个过程中,还会自动引入 node_modules 里的依赖,进行 tree-shaking 删除无用代码,并对结果进行压缩优化。 ...

2026年1月27日 · Fernando