2016-05-06 15 views
0

私はノード子プロセスを使用してシェルを生成し、その中にバイナリを実行しています。私は以下のようなバイナリを参照していますが、ENOENTエラーが発生します。ノードrequire( 'child_process')。spawn throw 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.stderr.on、binary.stdout.onを持っていますが、私はアプリを実行したときに、私はこのエラーuncaughtException得る:一方のspawn「バイナリパス」ENOENT

を場合、私は、 "exec"を使用してください。execを使用している間にspawnを使用して実行している間、なぜ失敗しているのかがわかりません。

私はイベントを扱っていますので、この場合には幹部を使用したスト​​リームのための理想的なものが出現し、ここからhttp://www.hacksparrow.com/difference-between-spawn-and-exec-of-node-js-child_process.htmlここ

+0

パスが正しいかどうかを確認しましたか? –

+0

@Gothdoはい、私はvar spawn = require( 'child_process')からこれを変更すれば動作していると言いました。 var spawn = require( 'child_process')に実行します。 PATHは正しいようです。 – Sai

答えて

0

はこれが解決できる方法だとexec.Gotされていないように見えるので、ここでストリームすることはできません、https://github.com/nodejs/help/issues/163

誰かを助けてくれることを願っています。

関連する問題