mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-03 01:21:32 +00:00
* feat(runtime): allow Bun runtimes that provide node:sqlite * fix(process): drop execa buffer encoding under Bun spawn (Bun rejects non-spawn options) * chore(process): cite oven-sh/bun#36049 in bun spawn workaround * docs(install): bun with node:sqlite can run openclaw; bun install workspace caveat * fix(process): clear execa buffer encoding under Bun without mutating read-only options
2.3 KiB
2.3 KiB
summary, read_when, title
| summary | read_when | title | ||
|---|---|---|---|---|
| Bun workflow for installs and package scripts; Node is required at runtime |
|
Bun |
Bun remains usable as an optional package-script runner. The default package manager remains pnpm, which is fully supported and used by docs tooling. Bun cannot use pnpm-lock.yaml and ignores it, and current Bun versions fail to resolve this repo's pnpm-workspace.yaml layout during bun install, so dependency installs should use pnpm install.
Install
```sh pnpm install ```Current Bun versions (including 1.4 canary) cannot resolve this repo's pnpm workspace layout, so `bun install` fails during workspace resolution. Use `pnpm install`.
```sh
bun run build
bun run vitest run
```
Commands that launch OpenClaw itself should still run through Node; Bun runtimes that provide `node:sqlite` (1.4.0 canary and later) can run them experimentally.
Lifecycle scripts
Bun blocks dependency lifecycle scripts unless explicitly trusted. For this repo, the commonly blocked scripts are not required:
baileyspreinstall: checks Node major >= 20 (OpenClaw requires Node 22.22.3+, 24.15+, or 25.9+, with Node 24 recommended)protobufjspostinstall: emits warnings about incompatible version schemes (no build artifacts)
If you hit a runtime issue that needs these scripts, trust them explicitly:
bun pm trust baileys protobufjs
Caveats
Some package scripts hardcode pnpm internally (for example check:docs, ui:*, protocol:check). Running them via bun run still shells out to pnpm, so just run those via pnpm directly.