【问题标题】:How to run a golang application in interactive mode如何在交互模式下运行 golang 应用程序
【发布时间】:2020-09-13 18:34:09
【问题描述】:

我正在尝试从 nodejs 以交互模式运行一个 golang 应用程序(以便它会提示用户提供所需的信息),如下所示:

childprocess.execFileSync(pulumiExecutable, ["stack", "select"], { encoding: "utf-8", shell: true, stdio: "inherit" });

但是,如果它认为不是从终端运行,它会使用this function 自动禁用交互模式。大概是因为 IsTerminal() 返回 false。

鉴于我告诉 nodejs 从父进程继承 IO 流,我想知道在从 nodejs 中调用 pulumi 时我还可以尝试做什么以保持交互模式。

【问题讨论】:

    标签: node.js go child-process stdio pulumi


    【解决方案1】:

    原来它没有在交互模式下运行有两个原因:

    1. 将 nodejs 程序作为 WebStorm 运行配置运行使其非交互式。
    2. 在 shell 模式下运行子进程也会使其非交互。

    这在 nodejs 程序从终端运行时有效:

    childprocess.execFileSync(pulumiExecutable, ["stack", "select"], { encoding: "utf-8", stdio: "inherit" });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-25
      • 2017-02-05
      • 1970-01-01
      相关资源
      最近更新 更多