Anthropic 于 v2.1.113 升级 Claude Code 分发方式:npm 包改为各平台预先编译好的原生二进制执行文件,而非 JavaScript 程序码。此版本将 npm 包从 JavaScript 程序码改为各平台预编译的原生二进制执行文件,消除了每次启动都要等待 Node.js 进程与 JIT 预热的隐性成本。 (前情提要:Claude Opus 4.7 深度介绍》编码能力升级、1M 不加价,实测缺点在哪?) (背景补充:Anthropic 推出视觉设计神器「Claude Design」!一句话秒做简报、企划书、App 原型)
本文目录
切换
每次敲下 claude,系统都在重复做一件事:启动 Node.js,读入所有 JavaScript 指令码,完成 JIT 预热,再进入 CLI 主循环。
这段延迟对长时间执行的 Web 服务器无关痛痒,但 CLI 工具每次调用都得从头重跑,一天几十次下来,这个等待时间就成了最碍事的性能问题。Anthropic 用一次预设更新解决了这个问题。
从 v2.1.113 起,npm install -g @anthropic-ai/claude-code 装进去的东西变了。
表面上,指令没有任何改动;里面,npm 包不再分发 JavaScript 程序码,而是根据用户的操作系统(macOS / Linux / Windows,ARM / x86)拉取对应的预先编译好的原生二进制执行文件,再通过 postinstall 脚本连接到正确位置。
用户端的安装流程:一行指令,一切照旧。
JS 版本的启动路径(v2.1.113 之前)
用户每次执行 claude,系统要走完四个步骤:
原生二进制的启动路径(v2.1.113 起)
Anthropic 在发布时就把 JavaScript 引擎与全部程序码打包进一个可执行文件,针对各平台分别编译。操作系统收到的是它认识的原生格式:直接载入,直接执行,跳过 Node.js 启动程序与 JIT 预热的全部开销。
| 项目 | | --- | 以前(JS 版本) | 现在(原生二进制) | | --- | --- | --- | | 启动方式 | Node.js 程序 → 读 JS → JIT 编译 | 操作系统直接载入 | | 启动延迟 | 有感(每次冷启动) | 明显缩短 | | 本机 Node.js | 必须安装 | 不再需要 | | Node.js 版本冲突 | 时有发生 | 不存在 | | 安装失败风险 | 较高(环境依赖复杂) | 降低 |
对于一天敲几十次 claude 的重度用户,启动延迟的消失是能直接感受到的改善。
什么都不用做。原有指令照用:
npm install -g @anthropic-ai/claude-code
npm 在后台自动挑选对应平台的原生二进制,用户无需感知任何变化。
如果想继续用 JS 版本
特殊需求(如需要在没有预编译二进制的平台上运行)可以固定版本号:
npm install -g @anthropic-ai/[email protected]
这不是 Anthropic 的创举,而是工具链演化的普遍方向。Rust 生态的 CLI 工具(ripgrep、fd)、Go 工具(gh、terraform)长期以来就直接分发原生二进制,避免对外部运行时的依赖。
JavaScript 生态过去习惯走 Node.js 运行时,但随着工具复杂度提升、使用频率增加,Node.js 的启动成本从“可以接受”逐渐变成“明显障碍”。Anthropic 这次的选择,是将 JS 引擎直接打包进去,让用户端不再感知到执行时的存在。
对于每天依赖 Claude Code 工作的开发者来说,这个小版本背后隐藏的,是一次真正的体验改善。
33.11万 热度
432.27万 热度
252.16万 热度
400.34万 热度
89.51万 热度
Claude 代码 更新抛弃 JS 改用原生二进制,告别 Node.js 依赖
Anthropic 于 v2.1.113 升级 Claude Code 分发方式:npm 包改为各平台预先编译好的原生二进制执行文件,而非 JavaScript 程序码。此版本将 npm 包从 JavaScript 程序码改为各平台预编译的原生二进制执行文件,消除了每次启动都要等待 Node.js 进程与 JIT 预热的隐性成本。
(前情提要:Claude Opus 4.7 深度介绍》编码能力升级、1M 不加价,实测缺点在哪?)
(背景补充:Anthropic 推出视觉设计神器「Claude Design」!一句话秒做简报、企划书、App 原型)
本文目录
切换
每次敲下 claude,系统都在重复做一件事:启动 Node.js,读入所有 JavaScript 指令码,完成 JIT 预热,再进入 CLI 主循环。
这段延迟对长时间执行的 Web 服务器无关痛痒,但 CLI 工具每次调用都得从头重跑,一天几十次下来,这个等待时间就成了最碍事的性能问题。Anthropic 用一次预设更新解决了这个问题。
版本里换了什么?
从 v2.1.113 起,npm install -g @anthropic-ai/claude-code 装进去的东西变了。
表面上,指令没有任何改动;里面,npm 包不再分发 JavaScript 程序码,而是根据用户的操作系统(macOS / Linux / Windows,ARM / x86)拉取对应的预先编译好的原生二进制执行文件,再通过 postinstall 脚本连接到正确位置。
用户端的安装流程:一行指令,一切照旧。
技术层面:两种做法差在哪
JS 版本的启动路径(v2.1.113 之前)
用户每次执行 claude,系统要走完四个步骤:
原生二进制的启动路径(v2.1.113 起)
Anthropic 在发布时就把 JavaScript 引擎与全部程序码打包进一个可执行文件,针对各平台分别编译。操作系统收到的是它认识的原生格式:直接载入,直接执行,跳过 Node.js 启动程序与 JIT 预热的全部开销。
具体带来什么改变
| 项目 | | --- | 以前(JS 版本) | 现在(原生二进制) | | --- | --- | --- | | 启动方式 | Node.js 程序 → 读 JS → JIT 编译 | 操作系统直接载入 | | 启动延迟 | 有感(每次冷启动) | 明显缩短 | | 本机 Node.js | 必须安装 | 不再需要 | | Node.js 版本冲突 | 时有发生 | 不存在 | | 安装失败风险 | 较高(环境依赖复杂) | 降低 |
对于一天敲几十次 claude 的重度用户,启动延迟的消失是能直接感受到的改善。
用户需要做什么?
什么都不用做。原有指令照用:
npm install -g @anthropic-ai/claude-code
npm 在后台自动挑选对应平台的原生二进制,用户无需感知任何变化。
如果想继续用 JS 版本
特殊需求(如需要在没有预编译二进制的平台上运行)可以固定版本号:
npm install -g @anthropic-ai/[email protected]
更大的趋势:CLI 工具走向原生化
这不是 Anthropic 的创举,而是工具链演化的普遍方向。Rust 生态的 CLI 工具(ripgrep、fd)、Go 工具(gh、terraform)长期以来就直接分发原生二进制,避免对外部运行时的依赖。
JavaScript 生态过去习惯走 Node.js 运行时,但随着工具复杂度提升、使用频率增加,Node.js 的启动成本从“可以接受”逐渐变成“明显障碍”。Anthropic 这次的选择,是将 JS 引擎直接打包进去,让用户端不再感知到执行时的存在。
对于每天依赖 Claude Code 工作的开发者来说,这个小版本背后隐藏的,是一次真正的体验改善。