node require('child_process').spawn 抛出 ENOENT

node require('child_process').spawn throws ENOENT

我正在使用节点子进程在其中生成 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 时失败 运行ning。

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

这是解决方法,https://github.com/nodejs/help/issues/163

希望对某人有所帮助。