【问题标题】:Node - piping one spawn.child_process to another节点 - 将一个 spawn.child_process 管道传输到另一个
【发布时间】:2019-03-09 19:35:20
【问题描述】:

最新更新

问题似乎出在 getModule 命令中……

我一直在尝试寻找将标准输出从一个 child_process.spawn 管道传输到另一个标准输入的正确方法。我已经做了很多搜索,但被困在这里。谁能看到我哪里出错了或者我遗漏了什么?

另外 - 我发现一些东西表明这种模式是不可预测的(活泼)。如果我弄清楚语法,任何人都可以确认或否认这将可靠地工作吗?

const getModule = spawn('curl' [url, '-ks']);
const unTar = spawn('tar', ['-xz', '-C', fileName, '--strip-components', 1]);    
getModule.stdout.pipe(unTar.stdin);

更新

如果有帮助,这是我得到的错误:

Error: TypeError: "file" argument must be a non-empty string
    at getModule.then.catch.err (/xxxxx.js:23:38)
    at <anonymous>

另外,我确实让它工作了

const getModule = spawn('sh', ['-c', 'curl ' + url + ' -ks | tar -xz -C ' + fileName + '/ --strip-components 1']);

但我正在尝试将一个进程的结果传递给另一个进程。

【问题讨论】:

    标签: node.js pipe child-process spawn


    【解决方案1】:

    Welp,它只是在 getModule spawn 声明中的 curl 命令之后缺少一个愚蠢的逗号。我现在不服了。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-10
      • 1970-01-01
      相关资源
      最近更新 更多