Electron 音视频播放器开发踩坑2

**承接上文 **Electron 音视频播放器开发踩坑

一、踩坑一:在统信UOS上遇到需要GLIBC_2.29问题

在统信UOS20E系统运行时,出现该问题

该问题主要是因为UOS系统GLIBC库最高只支持到2.28,但是better-sqlite3需要2.29以上,我们又不能轻易更新GLIBC库,因为牵涉到系统环境,一更新就系统崩溃(别问我为什么知道

解决方案

这时候我们可以使用@从天空大佬开发的Additional Base Lib 附加基础库项目,在UOS上使用高于系统GLIBC库的应用程序了

该项目旨在用轻量级容器工具bubblewrap解决GNU/Linux操作系统中常见的glibc不兼容问题,正好解决了我们的问题~

二、踩坑二:better-sqlite3在Linux无法使用

在上篇文章中,我们使用electron-rebuild工具,将better-sqlite3重新编译为electron相匹配的Node_Module_Version,但是在Linux下仍然无法使用,具体表现为:

该问题我猜想是我编译的时候附带的nodedir指定的NODE_MODULE_VERSION是93(即node 16.20.2),但是不指定会出现其他问题,所以在一番资料查找之后,还是决定对better-sqlite3进行手动编译

解决方案

运行命令如下

1
2
cd node_modules/better-sqlite3/
node-gyp rebuild --target=<your electron version> --arch=x64 --dist-url=https://electronjs.org/headers

这样就成功对better-sqlite3进行了重编译,再次运行发现问题已解决