Bun(实验性)
实验性支持
Bun 运行时对 OpenClaw 的支持目前处于 实验阶段。部分功能可能不稳定,不建议 在生产环境使用。
当前状态
| 功能 | 状态 |
|---|---|
| Gateway 核心 | ✅ 可用 |
| CLI 命令 | ✅ 可用 |
| Plugin 加载 | ⚠️ 部分兼容 |
| WhatsApp Channel | ❌ 不兼容 |
| Telegram Channel | ❌ 不兼容 |
| WebSocket 通信 | ✅ 可用 |
| sharp 图像处理 | ⚠️ 需手动配置 |
不推荐用于消息平台
WhatsApp 和 Telegram Channel(通道)依赖的第三方库尚未完全兼容 Bun。如果你需要这些平台集成,请使用 Node.js。
安装 Bun
bash
# macOS / Linux
curl -fsSL https://bun.sh/install | bash
# Windows
powershell -c "irm bun.sh/install.ps1 | iex"
# 验证
bun --version使用 Bun 安装 OpenClaw
bash
bun install -g openclaw从源码构建与测试
bash
git clone https://github.com/openclaw/openclaw.git
cd openclaw
# 安装依赖
bun install
# 构建
bun run build
# 运行测试
bun test
# 链接到全局
bun link --globalLifecycle Scripts(生命周期脚本)
Bun 默认 不执行 postinstall 等生命周期脚本。某些原生依赖(如 sharp、better-sqlite3)需要手动触发:
bash
# 安装后手动执行 postinstall
cd node_modules/sharp && bun run install
cd node_modules/better-sqlite3 && bun run install或者在安装时启用:
bash
bun install --trust已知问题与注意事项
node:内置模块兼容性:Bun 对node:前缀模块的兼容性仍在完善中,部分边界情况可能触发运行时错误- 原生插件(N-API / node-gyp):需要确认插件是否支持 Bun 的 FFI 或 N-API 兼容层
- 内存占用:Bun 的 GC 策略与 Node.js 不同,长期运行可能出现内存波动
- 调试工具:
--inspect标志行为与 Node.js 不完全一致
如果你遇到问题,欢迎在 GitHub Issues 中反馈,标题请加上 [bun] 前缀。
🇨🇳 中国用户须知
Bun 安装脚本从 GitHub Releases 下载二进制,国内可能较慢。可手动下载后安装:
bash
# 从镜像下载(如果有可用镜像)
# 或通过代理
export HTTPS_PROXY=http://your-proxy:port
curl -fsSL https://bun.sh/install | bash