66 lines
2.0 KiB
Markdown
66 lines
2.0 KiB
Markdown
---
|
||
read_when:
|
||
- 你想要最快的本地开发循环(bun + watch)
|
||
- 你遇到了 Bun 安装/补丁/生命周期脚本问题
|
||
summary: Bun 工作流(实验性):安装方式及与 pnpm 相比的注意事项
|
||
title: Bun(实验性)
|
||
x-i18n:
|
||
generated_at: "2026-02-01T21:05:42Z"
|
||
model: claude-opus-4-5
|
||
provider: pi
|
||
source_hash: eb3f4c222b6bae49938d8bf53a0818fe5f5e0c0c3c1adb3e0a832ce8f785e1e3
|
||
source_path: install/bun.md
|
||
workflow: 14
|
||
---
|
||
|
||
# Bun(实验性)
|
||
|
||
目标:使用 **Bun** 运行本仓库(可选,不推荐用于 WhatsApp/Telegram),同时不偏离 pnpm 工作流。
|
||
|
||
⚠️ **不推荐用于 Gateway网关运行时**(WhatsApp/Telegram 存在 bug)。生产环境请使用 Node。
|
||
|
||
## 状态
|
||
|
||
- Bun 是一个可选的本地运行时,用于直接运行 TypeScript(`bun run …`、`bun --watch …`)。
|
||
- `pnpm` 是默认的构建工具,仍然完全受支持(部分文档工具也在使用)。
|
||
- Bun 无法使用 `pnpm-lock.yaml`,会将其忽略。
|
||
|
||
## 安装
|
||
|
||
默认方式:
|
||
|
||
```sh
|
||
bun install
|
||
```
|
||
|
||
注意:`bun.lock`/`bun.lockb` 已被 gitignore,因此不会造成仓库变动。如果你不想写入锁文件:
|
||
|
||
```sh
|
||
bun install --no-save
|
||
```
|
||
|
||
## 构建 / 测试(Bun)
|
||
|
||
```sh
|
||
bun run build
|
||
bun run vitest run
|
||
```
|
||
|
||
## Bun 生命周期脚本(默认被阻止)
|
||
|
||
Bun 可能会阻止依赖的生命周期脚本,除非显式信任(`bun pm untrusted` / `bun pm trust`)。
|
||
对于本仓库,常见被阻止的脚本并非必需:
|
||
|
||
- `@whiskeysockets/baileys` `preinstall`:检查 Node 主版本 >= 20(我们运行 Node 22+)。
|
||
- `protobufjs` `postinstall`:发出关于不兼容版本方案的警告(无构建产物)。
|
||
|
||
如果你遇到确实需要这些脚本的运行时问题,请显式信任它们:
|
||
|
||
```sh
|
||
bun pm trust @whiskeysockets/baileys protobufjs
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
- 部分脚本仍硬编码使用 pnpm(例如 `docs:build`、`ui:*`、`protocol:check`)。目前请通过 pnpm 运行这些脚本。
|