运行 execFileSync 在打包的 Electron 应用程序中出错

Error while running execFileSync in packaged Electron app

我 运行 由 electron-packager(asar=false) 打包的 electron 应用程序中的以下代码。

const app = require(‘electron’);
const { join } = require(‘path’);
const EXEC_OPTS = {encoding: 'utf-8', shell: true};
childProcess.execFileSync(join(app.getAppPath(), 'src', 'executable') + ‘/test.sh’, [''], EXEC_OPTS);

但是我连错误日志都没有..

这段代码通常只能通过“electron”的命令才能运行。 , 但是这段代码在被electron packager打包后不能运行 .

结构是这样的(只写了必要的部分。)

project/src/excutable/test.sh

project/main.js

有什么想法吗?

我觉得打包后路径可能不对。您应该尝试在您的应用程序中执行 console.log(app.getAppPath());(例如发送到渲染器、写入日志文件等)以仔细检查它是否指向预期路径。