¿Podemos ejecutar un comando de nodo en un mac sin un nodo instalado cuando se utiliza el empaquetador de electrones?

Cuando empaqueté una aplicación de electrones usando un empaquetador de electrones. La aplicación genera un proceso secundario que utiliza un comando ‘nodo’. Ahora, si bash iniciar mi aplicación en un sistema sin ningún nodo instalado, ¿funciona la aplicación?

He estado tratando de lograr esto y enfrentando varios problemas, la comunidad electrónica me sugirió usar el método de bifurcación, generar el método con ‘Process.execPath’ como comando y también configurar la variable ELECTRON_RUN_AS_NODE, pero nada parece funcionar en mi fin.

Ahora, después de hacer todo esto, me pregunto, ¿definitivamente necesito un nodo instalado en mi sistema para ejecutar la aplicación? o ¿existe realmente una manera de pasar el entorno padre (que creo que tiene nodo) al proceso hijo? Si es así, ¿qué me estoy perdiendo aquí?

Algo a tener en cuenta, estoy usando ‘fixpath ()’ para configurar $ PATH en macOS cuando se ejecuta desde una aplicación GUI. No estoy seguro si esto está estropeando algo en mi código. https://www.npmjs.com/package/fix-path

Por favor encuentre mi código a continuación:

'use strict' const fixPath = require('fix-path'); let func = () => { fixPath(); const child = childProcess.exec('node scriptPath --someFlags', { detached: true, stdio: 'ignore', env: { ELECTRON_RUN_AS_NODE: 1, } }); child.on('error', (err) => { console.log("\n\t\tERROR: spawn failed! (" + err + ")"); }); child.stderr.on('data', function(data) { console.log('stdout: ' +data); }); child.on('exit', (code, signal) => { console.log(code); console.log(signal); }); child.unref(); } 

Sí, podemos ejecutar una aplicación empaquetada que ejecuta un proceso de nodo secundario incluso en un sistema sin un nodo instalado. Se puede usar el método ‘fork’ para ejecutar un proceso de nodo y estableciendo la variable env ELECTRON_RUN_AS_NODE. Por favor encuentre el código de muestra a continuación.

  let func = () => { const child = childProcess.fork(path, args, { detached: true, stdio: 'ignore', env: { ELECTRON_RUN_AS_NODE: 1 } } }); child.on('error', (err) => { console.log("\n\t\tERROR: spawn failed! (" + err + ")"); }); child.on('exit', (code, signal) => { console.log(code); console.log(signal); }); child.unref();