Pixiv - KiraraShss
389 字
2 分钟
opencode编译指导
OpenCode 编译指导
本文记录在 Ubuntu 24.04 上生成 OpenCode 桌面端 .deb 安装包的步骤与常见问题排查。
环境信息
- OS: Ubuntu 24.04
- Python: 3.12.12
- Node: v22.21.0
- Bun: 1.3.5
目标
生成 OpenCode Desktop 的 .deb 安装包。
编译命令
- 安装依赖(仓库根目录)
bun install- 生成
.deb包(桌面端 Tauri 构建)
bun run --cwd packages/desktop tauri build --bundles deb可选:如果构建过程中打开文件过多,先把构建并发降到 1:
CARGO_BUILD_JOBS=1 bun run --cwd packages/desktop tauri build --bundles deb遇到的问题
构建时报错:
thread '<unnamed>' panicked at crates/tauri-cli/src/interface/rust.rs:148:8:called `Result::unwrap()` on an `Err` value: Error { kind: Io(Os { code: 24, kind: Uncategorized, message: "Too many open files" }), paths: [] }error: script "tauri" was terminated by signal SIGABRT (Abort)Aborted (core dumped)问题原因
Too many open files 通常由以下原因引起:
- 进程或系统打开文件数过多
inotify限制(max_user_watches/max_user_instances)过低- 即使提高
ulimit -n,内核级inotify限制仍会触发报错
在本机上检测到:
fs.inotify.max_user_watches = 65536fs.inotify.max_user_instances = 128
这两个值偏低,容易导致 Tauri 构建时触发报错。
解决办法
1. 临时提高 inotify 限制(需要 sudo)
sudo sysctl -w fs.inotify.max_user_watches=524288sudo sysctl -w fs.inotify.max_user_instances=10242. 降低构建并发(可选)
CARGO_BUILD_JOBS=1 bun run --cwd packages/desktop tauri build --bundles deb3. 若需要永久生效
创建配置文件:/etc/sysctl.d/99-opencode.conf
fs.inotify.max_user_watches=524288fs.inotify.max_user_instances=1024fs.nr_open=1048576然后执行:
sudo sysctl --system补充排查
如果系统运行很久,可能存在进程打开文件数过多的问题,可以查看前 15 个进程:
lsof -n -P | awk 'NR>1{print $1}' | sort | uniq -c | sort -nr | head -n 15关闭占用异常高的进程后再重试编译。
赞助支持
如果这篇文章对你有帮助,欢迎赞助支持!
opencode编译指导
https://jkwei.com/posts/knowledge/opencode编译指导/ 最后更新于 2026-02-05,距今已过 6 天
部分内容可能已过时