node require('child_process')。spawn throws ENOENT

时间:2016-05-06 13:52:10

标签: javascript node.js exec spawn

我正在使用节点子进程生成shell并在其中运行二进制文件。我正在引用类似下面的二进制文件,但我收到了ENOENT错误。

var spawn  = require('child_process').spawn;
    binary = spawn('PATH_TO_BINARY') //i refer it like   app.get('Config').ROOT_PATH + '/folderName/Binary -c' + app.get('Config').ROOT_PATH + '/configfolderName/BinaryConfig.cfg'

然后我有binary.stdout.on,binary.stderr.on监听器但是当我运行应用程序时我得到此错误uncaughtException:spawn“binary path”ENOENT

另一方面,如果我使用“exec”它可以工作,任何想法为什么它在使用spawn并在使用exec时运行时失败。

我不能在这种情况下使用exec,因为我在这里处理事件流所以它看起来像流的理想之处是产生而不是exec.Got来自这里http://www.hacksparrow.com/difference-between-spawn-and-exec-of-node-js-child_process.html

1 个答案:

答案 0 :(得分:0)

以下是如何解决此问题的方法,https://github.com/nodejs/help/issues/163

希望它可以帮到某人。