Javascript 始终填充Makefile stderr

Javascript 始终填充Makefile stderr,javascript,node.js,makefile,Javascript,Node.js,Makefile,我正在使用exec(promisified)运行生成文件: const out = await exec('make', { maxBuffer: 1024 * 1024 * 10 }); 然而,当我查看Makefiles输出时,即使在构建成功时,stderr字段也总是被填充 "stdout": "stuff...", "stderr": "0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0

我正在使用exec(promisified)运行生成文件:

const out = await exec('make', { maxBuffer: 1024 * 1024 * 10 });
然而,当我查看Makefiles输出时,即使在构建成功时,
stderr
字段也总是被填充

"stdout": "stuff...",
"stderr": "0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  9 4813k    9  439k    0     0  29.1M      0 --:--:-- --:--:-- --:--:-- 28.6M
100 4813k  100 4813k    0     0   101M      0 --:--:-- --:--:-- --:--:--  100M
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 17939  100 17939    0     0  1063k      0 --:--:-- --:--:-- --:--:-- 1094k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 17939  100 17939    0     0  1352k      0 --:--:-- --:--:-- --:--:-- 1459k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 17939  100 17939    0     0  1577k      0 --:--:-- --:--:-- --:--:-- 1751k".
如您所见,我的Makefile在某个点下载了4个文件。但是,它会填充stderr字段。此外,如果文件没有下载(url不正确),它只会声明0%,而不是100%,这并不能使事情变得更好


不管怎样,在stderr中都只能得到错误,当这种情况发生时,很难得到正确的错误处理。

所以cURL正在向stderr写入进度条。在这里找到了答案:


在cURL命令中添加了标志
--fail--silent--show error
,现在它只在stderr中填充错误。

也许您可以了解一下makefile?它有什么作用?因此,我不清楚@kebs
curl-o client dist/documentation/tutorial.pdf$(DOC_URL)
@kebs
传递给回调的stdout和stderr参数将包含子进程的stdout和stderr输出。默认情况下,Node.js将把输出解码为UTF-8,并将字符串传递给回调函数。encoding选项可用于指定用于解码stdout和stderr输出的字符编码。如果编码为“buffer”,或无法识别的字符编码,则缓冲区对象将被传递到回调。
Makefile是否通常向stderr传递除错误以外的任何内容?如果Makefile中的命令失败,则它可能会在stderr上生成输出,否?您显示的文件内容看起来熟悉吗?你能确定生成它的程序吗?(我不能)