当前位置: 首页 > 知识库问答 >
问题:

怪问题,我用 go 开发了一个后台程序用来操作本的 sqlite3, go build 后, windows 下可以运行,但是 electron 拉起 go build 后的 exe 文件,就会出错?

方焱
2024-04-07

怪问题,我用 go 开发了一个后台程序用来操作本地的 sqlite3, go build 后生成的 exe 文件在 windows 的 cmd 下可以正常运行运行,但是 electron-egg 打包的程序拉起 go build 后的 exe 文件,就会出错

goroutine 1 [running]:modernc.org/libc.newFile(0xf1cd00?, 0x10cbd70?)        D:/env/gopkg/mod/modernc.org/libc@v1.22.5/libc_windows.go:293 +0x9emodernc.org/libc.init()        D:/env/gopkg/mod/modernc.org/libc@v1.22.5/libc.go:56 +0x14a52024-04-01 11:53:49,948 INFO 8372 [ee-core] [corss/process] received a exit from child-process, code:2, signal:null, pid:5692```

共有1个答案

赫连晋
2024-04-07

这个问题看起来像是 Go 程序和 Electron-Egg 打包的程序之间的环境差异导致的。有一些可能的原因和排查思路:

  1. 环境变量和路径问题
* 检查 Go 程序运行所需的环境变量是否在 Electron-Egg 打包的程序中设置正确。* 确保 Go 程序运行所需的库和依赖在 Electron-Egg 打包的程序中可用。
  1. 权限问题
* 检查 Go 程序是否有足够的权限访问所需的文件或资源。* 尝试以管理员权限运行 Electron-Egg 打包的程序,看是否可以解决问题。
  1. 依赖问题
* 确保 Electron-Egg 打包的程序包含了 Go 程序的所有依赖。* 检查是否有任何缺失的依赖库或包,并确保它们在打包过程中被正确包含。
  1. 日志和调试
* 在 Go 程序中添加更多的日志输出,以了解出错的具体位置和原因。* 使用调试工具(如 Delve)来调试 Go 程序,查看是否有任何异常或错误发生。
  1. Electron-Egg 配置
* 检查 Electron-Egg 的配置,确保正确配置了与 Go 程序相关的参数和设置。* 尝试更新 Electron-Egg 到最新版本,看是否可以解决问题。
  1. SQLite3 数据库问题
* 确保 SQLite3 数据库文件在 Electron-Egg 打包的程序中可用。* 检查数据库文件的路径和访问权限是否正确。

这只是一些可能的排查思路,具体情况可能因环境、代码和配置而异。建议根据错误信息和日志进行逐一排查,逐步缩小问题范围,直到找到具体的原因和解决方案。

 类似资料:
  • gobuild.io 是一个提供 golang 在线编译的网站。目前已重新上线 有很多很多优秀的工具是用 golang 写出来的。不过最大的开源网站 github.com 只提供代码的托管,并不提供二进制文件的下载。该网站将代码的编译与二进制的分享结合了起来,给无数人带来了便利。 比如一个项目的地址是 github.com/beego/bee,而二进制文件的下载直接前往 gobuild.io/be

  • 这是我第一次在世博会上开发,我正在构建跟踪位置的应用程序,并使用节点每5秒将数据发送到服务器。我使用的TaskManager API从博览会我会跟踪一切,它的工作原理我得到的数据。但是当我把我的应用放在后台时,它会停止。 这是否应该在后台任务中运行(),即使在使用世博开发工具的开发环境中也是如此,还是需要在工作之前将其置于生产模式? 当我像这样将应用程序转换为后台模式时,我的停止工作。 我的示例代

  • 最近有个项目,需要把vue2项目转化成桌面端,在Windows系统下运行,并且在应用打开的时候拉起后端的服务,应用结束之后关闭服务,但是后端服务类型有点多Python、java、c++都有,electron怎么才能实现服务拉起并得到反馈呢?求 我现在通过electron-builder已经可以打包成exe了,但是怎么拉起服务还没有头绪~~~

  • 问题内容: 我一直在尝试编写从串行端口读取数据的python脚本。它在命令行上运行良好,但是我需要它作为后台进程运行而没有任何命令行界面。该脚本有一个while循环,该循环从串行端口读取下一个数据字节,并相应地模拟按键。为了使按键可以专注于当前窗口而不是python命令行,我需要脚本作为后台进程运行。我在这里读的答案很少,但是没有什么让我振奋。请指出正确的方向。 问题答案: 在Windows上,您

  • 我认为错误是这样的-e/javabinder(13980):java.lang.noClassDefFounderRorr:解析失败:landroid/support/v4/util/arrayMap; E/JavaBinder(13980):java.lang.noClassDefFounderRor:解析失败:landroid/support/v4/util/arrayMap;

  • 问题内容: Go似乎总是在任何给定时间运行至少4个goroutine。不是主要goroutine的其他三个是什么? http://play.golang.org/p/MQBiLmHXBK 问题答案: 这些不是线程,它们是goroutine,并且数量可能会根据当前的实现而有所不同(即,在go1.2中将显示2)。 现在,看来您有1个用于,而3个则用于runtime / gc。 由此可见 如果删除fmt