从Dock运行时打包的Electron应用程序不启动,但从Terminal运行时运行正常

时间:2019-04-16 01:03:29

标签: macos electron child-process electron-builder

所以这有点奇怪。我有一个使用electron-builder打包的Electron应用程序。该应用程序尝试使用child_process.spawn()生成Java进程,并使用minimal-request-promise每500ms轮询一次以查看本地API是否已启动。

当我使用以下命令从Terminal运行应用程序时 open myApp.app/Contents/MacOS/myapp运行正常。在SpringBoot应用启动时,我看到控制台输出,并且在初始化后BrowserWindow弹出。

但是,如果我只是运行myApp.app(从Dock,Spotlight,Terminal等设备运行),则该图标会在Dock中弹出,但即使仅剩下10分钟也没有任何反应。

我认为这是因为产生该进程时出错(并且由于我们没有运行可执行文件,所以我们没有得到终端输出这样说..grr)。

尝试对此进行调试的最佳方法是什么?除非是权限问题,否则我无法弄清楚为什么它会以一种方式起作用,而不能以另一种方式起作用?

1 个答案:

答案 0 :(得分:0)

发现问题是我的API抛出异常,因为它试图创建的数据库文件位于打包的应用程序内部。更改了位置,现在一切正常。

对于处于相似位置的任何人,您都可以使用electron-log登录到文件而不是控制台(因为您没有(Math.random() * foodList.size()); 文件的控制台)。