グローバルにインストールされたノードパッケージを別のグローバルパッケージlauncherを介して別のプロセスとして起動する必要があります。ランチャーが別のパッケージを起動して終了します。spawnはnode.jsでグローバルパッケージを起動できません
スポーンは別のプロセスとしてメモ帳を起動できます。しかし、グローバルにインストールされたパッケージを起動することはできません。
//var child = moduleLauncher.spawn('notepad',[],{
var child = moduleLauncher.spawn('hrm_module C:/test.scanRequest',[],{
detached: true,
stdio: ['ignore', out, err]
});
child.unref();
生成されたエラー:
events.js:154
throw er; // Unhandled 'error' event
^
Error: spawn hrm_module C:/test.scanRequest ENOENT
at exports._errnoException (util.js:856:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
at onErrorNT (internal/child_process.js:344:16)
at nextTickCallbackWith2Args (node.js:475:9)
at process._tickCallback (node.js:389:17)
at Function.Module.runMain (module.js:449:11)
at startup (node.js:140:18)
at node.js:1001:3
注: - hrm_module C:/test.scanRequest
は、Windowsのコマンドプロンプト上で正常に動作しているcommond
私は以下のコードを書かれています。
ランチャーでこのコマンドを実行します。
spawn('hrm_module',['C:/test.scanRequest']
は、引数配列で引数を渡すべき
私は以下のエラーを取得。..示唆として試み:エラー:産卵hrm_module ENOENT – user2902037
は 'hrm_module'が上だろうグローバル' bin'ディレクトリですパス?あるいは 'hrm_module'はコマンドラインを持たないモジュールですか?モジュールがbinディレクトリにない場合は、 'spawn(require.resolve( 'hrm_module') ')を使ってモジュールへのフルパスを取得できます。 –