如何从Electron AppImage.mount点访问Sqlite3数据库? 操作系统:Linux 5.9.16-1-MANJARO 电子版版本:10.1.5 BetterSqlite版本:7.1.2
我目前正在使用Electron和BetterSqlite编写一个应用程序 我按如下方式构建AppImage:如何从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” ], 但当我
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”,然后使用此新副本