繁体   English   中英

生成`git clone`后将输出流式传输到标准输出

[英]Stream output to stdout after spawning `git clone`

我只是想从节点运行git clone并将输出流式传输到标准输出,就像通常从 shell 运行一样,但是在使用child_process.spawn ,我无法将输出通过管道传输到标准输出。 目前我正在使用:

child = spawn('git', ['clone', url]);
child.stdout.pipe(process.stdout);
child.stderr.pipe(process.stderr);

但我只看到“克隆到‘目录’”消息,而不是远程消息和“接收对象...”。

我究竟做错了什么?

默认情况下, git clone仅在终端中运行时显示进度。 当它不在终端中运行时,可以使用--progress参数启用:

除非指定了 -q,否则在连接到终端时,默认情况下会在标准错误流上报告进度状态。 即使标准错误流未定向到终端,此标志也会强制进度状态。

但是,我不确定这会完全符合您的期望。 进度输出不是简单的输出; 价值观发生了变化。 我不确定这会与child_process.spawn()一起child_process.spawn()有多好。

还要注意输出是到STDERR ,而不是STDOUT

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM