Install 导读

Bun 只适合本地开发,别用它跑网关

Bun 是可选运行时,能直接跑 TypeScript,但官方明确警告 WhatsApp 和 Telegram 网关已知问题,生产必须用 Node。安装时注意 Bun 会忽略 pnpm-lock.yaml,且部分脚本(如 docs:build)硬编码了 pnpm,仍需 pnpm 执行。

先讲这一页到底在解决什么

Bun 只适合本地开发,别用它跑网关

Bun 是可选运行时,能直接跑 TypeScript,但官方明确警告 WhatsApp 和 Telegram 网关已知问题,生产必须用 Node。安装时注意 Bun 会忽略 pnpm-lock.yaml,且部分脚本(如 docs:build)硬编码了 pnpm,仍需 pnpm 执行。

原文共 5 节,先看 Start Here 路径:/install/bun 查看官方原文

第一站

⚠️ 先把最重要的一句贴脑门上

这页不是“推荐安装路线”,而是“实验室侧门”。

🧪

适合 Bun 的场景

本地开发、试脚本、想直接跑 TypeScript,不想每次都先编译。

🚫

不适合的场景

生产 Gateway、重要通道、你不想碰到稀奇古怪兼容问题的时候。

📦

pnpm 还是主角

官方没有把 Bun 扶正成默认包管理器,仓库主线路还是 pnpm。

🎈

一句话

Bun 可以拿来试穿,不要先拿它当工作制服。

第二站

🧰 安装那两条命令,翻成人话就是“先把零件拿进来,再看看机器能不能正常转”

这页命令不多,反而好理解。

bun install

像用 Bun 自己的搬运车把依赖全搬进来。

bun install --no-save

像说“只搬,不改仓库里的记录本”,避免留下额外锁文件痕迹。

bun run build

像先把机器拼起来,确认它至少能顺利装完。

bun run vitest run

像拉一轮测试裁判,看这台机器现在能不能过基本体检。

第三站

🚪 Lifecycle Scripts 那段,说白了就是“门卫会不会放这些包自带的小动作进来”

Bun 比较谨慎,不会默认放开所有依赖包的安装脚本。

🛑 默认拦一下

像门卫先说:“这些包想在安装时自己动手干点活?先等等,我要确认。”

📦 官方提到的两个包

@whiskeysockets/baileysprotobufjs 这类脚本,通常不是你这仓库能不能工作的生死线。

bun pm trust @whiskeysockets/baileys protobufjs

像你亲口跟门卫说:“这两个包的自带动作我同意放行。”

🎈 收住一句

这不是报错魔法,而是 Bun 在问:哪些安装脚本值得信任。

第四站

🪤 Caveats 那一小段,其实是在说:这条路还没铺平,很多地方仍然写着“请走 pnpm 正门”

所以别拿 Bun 线路去要求整个仓库都无条件迁就它。

🛠 有些脚本仍写死 pnpm

像有些门锁还只认旧钥匙。比如文档构建、UI 流程、协议检查,暂时还是 pnpm 更稳。

📌 别误会“能跑”

Bun 能跑一部分流程,不等于它已经是全仓库正式主路。

🎈 最后一句

如果你只是想把 OpenClaw 稳稳跑起来,请回 Node 正门;如果你是来试新跑鞋,Bun 可以玩。