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

Bun:想要取代 Node 的运行时(现在已经有资金支持了)

谁能想到会有这样的消息 上周,就在你我还在为 node_modules 苦恼不已时,Anthropic 放出了一颗重磅炸弹:他们收购了 Bun。 没错,那家推出 Claude 的公司决定将未来押注在由一位脑洞大开的开发者用 Zig 编写的超快 JavaScript 运行时上。Claude Code 刚刚实现了 10 亿美金的收入,而显然,当你手中资金充裕时,买开发工具成为了一项很重要的投资。 为什么?因为 Claude Code 需要大量地执行 JavaScript,当你拥有数百万用户时,每毫秒的运行效率都至关重要。简单地说,如果你的业务依赖于快速执行代码,那么你当然愿意购买最快的运行时。 但我们先不谈这些商业秘辛,来看看与你息息相关的部分:Bun 是什么,为什么你应该关注它。 什么是 Bun(给来自 Node 的开发者) Bun 就像有人看了整个 Node.js 的生态系统后想了一下:“要是我们能用一个工具替代所有这些东西,如何?” 以前,你可能需要这些工具: node → 运行时 npm/pnpm/yarn → 包管理工具 webpack/esbuild/vite → 打包工具 jest/vitest → 测试运行器 ts-node/tsx → 执行 TypeScript 现在,你只需要: bun → 实现所有上述功能 它就像电动滑板车对比带拖斗的车:部件更少,出错几率更低,甚至运行得更快。 重要的性能数据 虽然我并不太喜欢做 benchmark,因为这些数据总是容易被操纵。但这些数字实在过于震撼,不提鼓动人心都过意不去: 操作 Node + pnpm Bun 差异 install(中型项目) ~25s ~3s 快 8 倍 运行时启动 ~50ms ~5ms 快 10 倍 执行测试 基础速度 快 2-3 倍 显著提升 转译 TypeScript 需要额外工具 原生支持 ∞ 为什么会这么快?因为它是用 Zig 编写的,而不是 C++。而且它的作者 Jarred Sumner 是个以代码优化为业余爱好的人。他以前在 Stripe 工作时,就判断出世界上最重要的问题是 npm install 的速度太慢。 ...

2026年1月18日 · Fernando