Electron React Boilerplate 开发 Electron 应用调用底层系统资源库问题

日常开发 Electron 应用的时候,习惯使用脚手架:electron-react-boilerplate 进行开发,今天开发遇到一个问题:

bash 复制代码
A JavaScript error occurred in the main process
Uncaught Exception:
Error: No native build was found for platform=linux arch=x64 runtime=electron abi=116 uv=1 libc=glibc node=18.16.1 electron=26.6.3 webpack=true
    loaded from: /tmp/.mount_sf-offjFWZOf/resources/app.asar/dist

    at g.resolve.g.path (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:14:433548)
    at g (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:14:431619)
    at 6237 (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:2:14858)
    at n (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:14:636823)
    at 6269 (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:2:6100)
    at n (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:14:636823)
    at 176 (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:2:9685)
    at n (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:14:636823)
    at 9076 (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:14:535247)
    at n (/tmp/.mount_sf-offjFWZOf/resources/app.asar/dist/main/main.js:14:636823)
Maximum number of clients reached[84362:0530/141312.211021:ERROR:ozone_platform_x11.cc(241)] Missing X server or $DISPLAY
[84362:0530/141312.211053:ERROR:env.cc(255)] The platform failed to initialize.  Exiting.

问题背景

出现这个问题没有任何头绪,在网上也查不到任何信息,但是问题步骤是很容易复现的:

  • 开发环境没问题,正常运行
  • 项目打包没问题,正常打包
  • 打包之后启动应用程序出现上方的报错

并且这个问题也很容易定位,因为回滚到上一个 Commit 版本问题就消失了,因此可以确定是本次引入的,而本次开发过程中代码都是普通的业务代码,并且开发环境是没问题正常启动的,因此唯一确定的变量就是引入了一个新的依赖包 ------ serialport

解决方案

根据上面的描述,解决方案大致也就清楚了,肯定是这个安装包的问题,但是我的需求就是要使用这个安装包,因此肯定不是包的问题,那么经过查找,发现了这个文档:Electron React Boilerplate Add Dependencies,根据文档描述大致确定了问题:对于 Electron 应用,尤其是需要访问底层系统资源(如串口设备)的库,应该确保它们安装在用于运行时的 package.json 文件中,也就是 ./app/package.json,而不是根目录的 package.json 文件中。

所以,我们只需要把对应的调用系统底层的相关依赖包,安装在 /release/app/package.json 里面就可以了,经过测试确实是这个问题,又浪费我大半天的时间,不过好在问题总算解决了~

相关推荐
Setsuna_F_Seiei9 分钟前
前端的 AI 学习之路 01 之 Agent API 调用 - 和 Agent 的基础对话
前端·人工智能·ai编程
threerocks44 分钟前
AI 原生软件开发生命周期手册 - 如何借助 AI,逐阶段改造软件开发生命周期
前端·javascript·后端
徐小夕1 小时前
3分钟从想法到Agent上线:我们开源了一款AI可视化工作流“IDE”
前端·算法·github
why技术3 小时前
eli5,我觉得这个全网在吹的技能,使用体验真的很一般啊。
前端·人工智能·后端
excel3 小时前
记录升级 nuxt3 到 nuxt4 记录
前端
剑胆琴心静水深流3 小时前
全栈之路6---web集成与呈现
前端·vue.js·spring boot·分布式·spring·前端框架·npm
前端snow3 小时前
ai agent -- Memory汇总
前端
ITresearchGuest4 小时前
AI 焦虑下,前端该何去何从
前端·人工智能
Codiggerworld4 小时前
Chrome DevTools 隐藏神技:这 5 个调试技巧你可能从来没用过
前端·chrome·chrome devtools
旋生万物4 小时前
【终极实战】用Python从零“生成“一个宇宙:螺旋干涉模型的代码实现
开发语言·前端·人工智能·react.js·php·wpf