从 Dock 运行时打包的 Electron 应用程序不会启动,但从终端运行时运行良好
Posted
技术标签:
【中文标题】从 Dock 运行时打包的 Electron 应用程序不会启动,但从终端运行时运行良好【英文标题】:Packaged Electron app does not launch when run from Dock but works fine when run from Terminal 【发布时间】:2019-09-06 00:35:09 【问题描述】:所以这有点奇怪。我有一个使用 electron-builder
打包的电子应用程序。该应用程序尝试使用 child_process.spawn()
生成 Java 进程,并使用 minimal-request-promise
每 500 毫秒轮询一次,以查看本地 API 是否已启动。
当我从终端运行应用程序时
open myApp.app/Contents/MacOS/myapp
它工作正常。我在SpringBoot
应用程序启动时看到控制台输出,一旦初始化,BrowserWindow
就会弹出。
但是,如果我只运行 myApp.app
(从 Dock、Spotlight、终端等),图标会在 Dock 中弹出,但没有任何反应,即使在 10 分钟后也不会发生。
我假设这是因为生成进程时出现错误(并且由于我们没有运行可执行文件,我们没有得到终端输出这样说..grr)。
尝试和调试它的最佳方法是什么?除非是权限问题,否则我无法弄清楚为什么它会以一种方式而不是另一种方式工作?
【问题讨论】:
【参考方案1】:原来问题在于我的 API 抛出异常,因为它试图创建的数据库文件位于打包的应用程序中。更改了位置,现在一切正常。
对于处于类似位置的任何人,您可以使用electron-log
登录文件而不是控制台(因为您没有来自.app
文件的控制台)。
【讨论】:
以上是关于从 Dock 运行时打包的 Electron 应用程序不会启动,但从终端运行时运行良好的主要内容,如果未能解决你的问题,请参考以下文章