Skip to content

Bun(实验性)

警告: Bun 不建议用于 Gateway 生产运行时(WhatsApp 和 Telegram 有已知问题)。生产环境请使用 Node。

Bun 是一个可选的本地运行时,用于直接运行 TypeScript(bun run ...bun --watch ...)。默认包管理器仍然是 pnpm,完全受支持,docs 工具也使用它。Bun 无法使用 pnpm-lock.yaml,会忽略它。

安装

安装依赖

sh
bun install

bun.lock / bun.lockb 已加入 gitignore,不会产生仓库噪音。如需完全跳过 lockfile 写入:

sh
bun install --no-save

构建和测试

sh
bun run build
bun run vitest run

生命周期脚本

Bun 默认阻止依赖的生命周期脚本,除非明确信任。本仓库中常见的被阻止脚本并非必需:

  • @whiskeysockets/baileyspreinstall — 检查 Node 主版本 >= 20(OpenClaw 默认使用 Node 24,仍支持 Node 22 LTS,当前为 22.14+
  • protobufjspostinstall — 发出关于不兼容版本方案的警告(不构建任何产物)

如果你遇到确实需要这些脚本的运行时问题,可以显式信任它们:

sh
bun pm trust @whiskeysockets/baileys protobufjs

注意事项

部分脚本仍硬编码使用 pnpm(例如 docs:buildui:*protocol:check),暂时通过 pnpm 运行这些脚本即可。