Appearance
Kiro CLI --tui 模式在 RHEL8/Ubuntu20(MUSL 版本)崩溃
问题
在 RHEL8 或 Ubuntu 20.04(使用 MUSL 版本 Kiro CLI,因系统 glibc < 2.34)上运行 kiro --tui 时,终端直接崩溃退出,没有任何有效错误信息。切换为 --classic 模式可以正常工作。
相关版本:1.28.0 / 1.29.5(复现),2.0.x 中直接禁用了 MUSL 版本的 TUI。
解决方案
推荐:升级到 Kiro CLI v2.1.0 或更高版本,该版本已新增对 Red Hat Enterprise Linux(RHEL)的 TUI 支持。
升级命令:
bash
kiro --version # 查看当前版本
# 通过官方下载页更新或使用包管理器升级临时方案(v2.0.x 及更早版本):使用 --classic 模式代替 --tui:
bash
kiro --classicClassic 模式在 RHEL8/Ubuntu20 的 MUSL 构建上完全正常,功能基本等同,只是没有 TUI 界面。
根本原因
Kiro TUI 和 chat 二进制之间使用 stdio transport 通信,在 RHEL8 环境下管道会被提前关闭。这与系统 glibc 版本较低(< 2.34)有关,导致 MUSL 构建使用的 pipe 机制出现问题。v2.1.0 修复了这一问题。
社区补充:旧 CPU(无 AVX2)静默崩溃
Kiro CLI 2.0+ 的 TUI 模式依赖 Bun 运行时,而 Bun 需要 AVX2 指令集(2013年后的 Intel Haswell、AMD Ryzen 等)。在以下旧 CPU 上 kiro-cli --tui 会静默退出,退出码 1,无任何输出:
- Intel Ivy Bridge(2012,i7-3xxx/Xeon E5 v1/v2)
- Intel Braswell(2015,Celeron N3xxx)
- 无 AVX2 的旧 CPU
诊断方法:
bash
# 查看 CPU 是否支持 AVX2
grep -o 'avx2' /proc/cpuinfo | head -1
# 有输出 = 支持,无输出 = 不支持
# 用 strace 确认崩溃原因
strace -f -e trace=none kiro-cli 2>&1 | grep SIGILL
# 如果出现 SIGILL 则为 AVX2 不支持导致临时方案:使用 --classic 模式(无 TUI 界面,但功能正常):
bash
kiro-cli --classic该问题根因是 Bun 的 baseline(非 AVX)构建存在 bug(上游问题:oven-sh/bun#28399)。Claude Code 有同样的问题。