You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lerna环境中Inquirer交互提示无法正常渲染问题求助

Lerna + Inquirer 交互提示不显示问题解决

问题根源

Lerna默认会缓冲子进程的输出,且默认未将终端的stdin/stdout正确传递给子进程,导致Inquirer的交互提示无法实时显示,仅在进程退出或输出缓冲区满时才会出现内容。

解决步骤

1. 用--stream实时输出日志

执行Lerna命令时添加--stream参数,让子进程的输出实时打印到终端:

lerna run start --scope=cli-app --stream -- delete-feature -r

2. 开启终端交互权限

若上述方法无效,追加--interactive参数,确保Lerna将终端交互权限传递给子进程:

lerna run start --scope=cli-app --stream --interactive -- delete-feature -r

3. 给Inquirer显式指定输入输出流

在代码中直接指定Inquirer使用当前进程的stdin和stdout,规避Lerna的缓冲影响:

const permission = (await inquirer.prompt(question, {
  stdin: process.stdin,
  stdout: process.stdout
})).permission;

4. 检查项目脚本配置

确认cli-app项目的package.json中start脚本为直接执行CLI入口,无额外缓冲设置:

{
  "scripts": {
    "start": "node dist/src/index.js"
  }
}

内容的提问来源于stack exchange,提问作者Amit Limbasiya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 08:12:33