0
我正在编写一个带有Electron和Nativefier软件包的Mac OSX GUI,当我在安装了Nodejs的机器上运行打包的应用程序(全局)时,一切正常。
在没有安装Nodejs的机器上,找不到命令。从电子打包的应用程序运行Cli命令
我使用Nativefier在CLI内电子与完整路径CLI:
var cliCmd = '"'+app.getAppPath()+'/node_modules/nativefier/lib/cli.js"';
const child_process = require('child_process');
child_process.exec(cliCmd+' --name "App Name" "http://appname.tld" --platform darwin --arch x64 --electron-version "0.36.6"', function (error, stdout, stderr) {
if (error) {
console.error(`exec error: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
});
我得到这个错误:"env: node: No such file or directory"
经过的app.getAppPath()
目录,它是正确的。
此外,我试图通过env
和cwd
参数,但没有任何成功。
child_process.exec(cliCmd+' --name "App Name" "http://appname.tld" --platform darwin --arch x64 --electron-version "0.36.6"',
{
env: {"ATOM_SHELL_INTERNAL_RUN_AS_NODE":"1"},
cwd: app.getAppPath()
},
function (error, stdout, stderr) {
if (error) {
console.error(`exec error: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
});
我做错了什么?我也试过child_process.spawn()
,但没有再次运气。
在没有安装nodejs的机器上,我需要从我的应用程序调用打包的node_module/cli?
当我尝试这样做我得到了'错误:无法找到模块“/Users/abeall/tools/electron/node_modules/electron/dist/Electron.app/Contents/Frameworks/Electron Helper.app/Contents/Resources/electron.asar /浏览器/ init.js'' – Aaron