私はElectronとNativefierパッケージのMac OSX GUIを書いています.Nodejがインストールされた(グローバルに)パッケージ化されたアプリケーションを実行すると、すべて正常に動作します。
Nodejsがインストールされていないマシンでは、コマンドを見つけることができません。ElectronパッケージのアプリケーションからCliコマンドを実行
私は、CLIへの完全なパスと電子の内部Nativefier 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/browser/init.js'' – Aaron