如何解决bun x create-next-app在交互式提问中卡死的问题

作者:袖梨 2026-06-11

在 WSL Ubuntu 中运行 bun x create-next-app 时,常因终端交互异常卡在 TypeScript 选项界面;可通过禁用交互模式、显式传参或升级 Bun 至 v1.0.2+ 快速解决。

在 wsl ubuntu 中运行 `bun x create-next-app` 时,常因终端交互异常卡在 typescript 选项界面;可通过禁用交互模式、显式传参或升级 bun 至 v1.0.2+ 快速解决。

当你在 WSL(Windows Subsystem for Linux)的 Ubuntu 环境中执行 bun x create-next-app 命令时,CLI 可能会在第二个交互式问题(“Would you like to use TypeScript? › No / Yes”)处完全无响应——键盘输入无效,进程看似挂起。这并非你的操作失误,而是 Bun v1.0.1 及更早版本中存在的已知终端交互兼容性问题,根源在于其底层对伪终端(PTY)的处理在某些 WSL 配置下失效。

推荐解决方案(按优先级排序):

  1. 立即升级 Bun(最简修复):
    运行以下命令升级至修复版本(v1.0.2+ 已合并相关补丁):

    bun upgrade

    升级完成后重新执行 bun x create-next-app,交互应恢复正常。

  2. 跳过交互,使用非交互式模式(兼容性强)
    直接调用 create-next-app 并传入全部参数,完全绕过 CLI 提问流程:

    create-next-app my-app   --ts   --tailwind   --eslint   --app   --src-dir   --use-bun   --import-alias "@/*"

    ✅ 提示:所有可用标志详见 Next.js 官方文档 — Non-interactive mode。你可根据项目需求删减或调整参数(如去掉 --ts 表示不启用 TypeScript)。

⚠️ 注意事项:

  • 若仍使用旧版 Bun 且无法升级,请避免在 WSL 中依赖 bun x 启动交互式脚手架,优先采用非交互式命令或改用 npx create-next-app@latest 作为临时替代;
  • 确保 WSL 终端为默认配置(如 Windows Terminal + Ubuntu),部分第三方终端模拟器可能加剧 PTY 兼容问题;
  • 执行非交互命令前,建议先全局安装最新版 create-next-app(bun add -g create-next-app),以保证功能完整性。

? 总结:该问题本质是 Bun 的早期版本在 WSL 环境下的终端控制缺陷,社区已在 issue #4664 中确认并修复。升级 Bun 是根本解法;而显式参数化创建则是稳定、可脚本化、适合 CI/CD 的最佳实践。

相关文章

精彩推荐