如何从Electron AppImage.mount点访问Sqlite3数据库? 操作系统:Linux 5.9.16-1-MANJARO 电子版版本:10.1.5 BetterSqlite版本:7.1.2

如何从Electron AppImage.mount点访问Sqlite3数据库? 操作系统:Linux 5.9.16-1-MANJARO 电子版版本:10.1.5 BetterSqlite版本:7.1.2,sqlite,electron,electron-builder,appimage,Sqlite,Electron,Electron Builder,Appimage,我目前正在使用Electron和BetterSqlite编写一个应用程序 我按如下方式构建AppImage: npm run build && electron-builder build 这是我从代码访问数据库的方式: db=新数据库( join(uu dirname,`/${dbName}`)。replace(“/app.asar”,”) ); 我已使用以下方法添加要使用的数据库文件: “额外资源”:[ “public/build/Database.db” ], 但当我

我目前正在使用Electron和BetterSqlite编写一个应用程序

我按如下方式构建AppImage:

npm run build && electron-builder build
这是我从代码访问数据库的方式:

db=新数据库(
join(uu dirname,`/${dbName}`)。replace(“/app.asar”,”)
);
我已使用以下方法添加要使用的数据库文件:

“额外资源”:[
“public/build/Database.db”
],
但当我打开AppImage时,会收到以下错误消息:

SqliteError: attempt to write a readonly database
由于/tmp/.mountxxx点为只读,数据库似乎无法访问

在“开发”文件夹中打开应用程序时不会发生这种行为,因为它不是只读目录

是否有方法使用/tmp/.mountxxx目录中的数据库

我怎样才能以另一种方式访问数据库


提前感谢。

我已经找到了使用AppImage装载点进行读写的方法,但没有找到任何结果。我将使用用户的主目录存储数据库

,因为执行AppImage时会出现错误,AppDir将作为RO文件系统装载

要解决此问题,需要使用启动脚本将数据库文件复制到用户主页中。例如,您可以将其复制到“$HOME/.cache/com.myapp/appdata.db”,然后使用此新副本