从Electron生成子节点进程

我有一个现有的节点脚本,我从CLI运行像node script.js --args

我正在尝试构build一个Electron应用程序来replaceCLI。 要运行实际的脚本,我可以使用child_process

 function run(arg) { const script = spawn("node", ["./script.js", "run", "--arg", arg], { cwd: TOOLS_DIR, env: process.env }); script.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); script.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); script.on('close', (code) => { console.log(`child process exited with code ${code}`); }); } 

然而这只有当我从我的应用程序文件夹启动electron时才起作用 当我使用electron-packager运行构build的应用程序时, run()调用失败,出现错误:

 Uncaught Error: spawn node ENOENT 

看起来,构build的应用程序不能运行node命令。 我已经安装了NodeJS,但是如果我loggingprocess.env.PATH我注意到从构build的应用程序/usr/local/bin (其中node所在的地方)不在$PATH ,但是如果我从我的应用程序文件夹运行electron , 无论哪种情况,由于Electron在NodeJS上运行,有一种简单的方法可以从Electron应用程序运行节点脚本?