Bun
Warning
Node 仍然是 OpenClaw 的主要、默认和推荐运行时。提供 WAL 重置安全的 node:sqlite 的 Bun 1.4+ 构建可以作为显式选择项运行 CLI、Gateway 和托管 node host。OpenClaw 要求 SQLite 3.51.3+、3.50.x 中的 3.50.7+,或 3.44.x 中的 3.44.6+;旧版 Bun 以及包含不安全 SQLite 的构建会被拒绝。
Bun 仍可作为可选的包脚本运行器使用。默认包管理器仍然是 pnpm,它得到完全支持,并被文档工具链使用。Bun 无法使用 pnpm-lock.yaml 并会忽略它,并且当前 Bun 版本在 bun install 期间无法解析此仓库的 pnpm-workspace.yaml 布局,因此依赖安装应使用 pnpm install。
安装¶
1. 安装依赖
Bun 无法解析此仓库的 pnpm workspace 布局,因此 bun install 会在 workspace 解析期间失败。请使用 pnpm install。
2. 构建和测试
对于启动 OpenClaw 的命令,默认使用 Node。
在 Bun 下从源码运行时,复用当前可执行文件的 worker 会使用 Bun 的原生 TypeScript 支持,即使可执行文件具有自定义文件名。明确要求 Node 的 worker 会保留其 Node 加载器。
3. 使用 Bun 运行 OpenClaw
要在 Bun 下运行 onboarding 并在 Bun 下安装托管 Gateway:
对于托管 node host,请单独选择 Bun:
生命周期脚本¶
除非显式信任,否则 Bun 会阻止依赖生命周期脚本。对于此仓库,常见被阻止的脚本并非必需:
baileyspreinstall:检查 Node 主版本 >= 20(OpenClaw 要求 Node 24.16+ 或 26.1+,推荐 Node 26)protobufjspostinstall:发出关于不兼容版本方案的警告(无构建产物)
如果遇到需要这些脚本的运行时问题,请显式信任它们:
注意事项¶
在 macOS 上,运行 brew install sqlite 以支持原生向量搜索。Bun 1.4.2 在关闭后可能保留 SQLite 句柄以及 WAL/共享内存文件;当 prompt 文件释放很重要时,请使用 Node。有关库选择、要求和限制,请参阅 Bun 兼容性。
一些包脚本在内部硬编码了 pnpm(例如 check:docs、ui:*、protocol:check)。通过 bun run 运行它们时仍会 shell 调用 pnpm,因此请直接通过 pnpm 运行这些脚本。
相关¶
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw