[英]How do I handle character encoding for stdout stream of (cli) output in/from node.js?
[英]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.