解压缩后无法在 MacOS Darwin 上访问 Electron-Forge SQLite3 数据库

Electron-Forge SQLite3 database not accessible on MacOS Darwin build after unzipping

我在自由职业者的帮助下开发的 CRUD 桌面应用程序出现了一些问题。这是一个 electron-forge 版本,可以在 Windows 10 上无缝运行,并且最初在访问 out 文件夹时可以在 MacOS 上运行,奇怪的事情发生在:

  1. 我使用 npm run publish 压缩 Mac/Darwin 实例
  2. 我手动package.zip结果npm run make

当我执行此操作并将文件解压缩到 运行 时,SQLite 集成完全失败。该应用似乎在启动时运行,但无法对数据库对象进行任何更改,也无法创建新对象。

整合数据库的自由职业者说他无法解决这个问题,但如果不压缩应用程序以供交付,就不可能将应用程序投放市场。如果需要,我可以 post 编写代码,我什至不知道代码的哪个方面是相关的,并且觉得我的 package.json 中必须有一些我可以 install/put 的东西可能会解决这个问题,但我不确定。

这是我的 package.json 文件以备不时之需:


{
  "name": "C",
  "productName": "C",
  "version": "1.0.2",
  "description": "My Electron application description",
  "main": "src/index.js",
  "scripts": {
    "start": "cross-env NODE_ENV=development electron-forge start",
    "package": "electron-forge package",
    "make": "cross-env NODE_ENV=production electron-forge make",
    "publish": "electron-forge publish",
    "lint": "echo \"No linting configured\""
  },
  "keywords": [],
  "author": {
    "name": "A",
    "email": "xxx@gmail.com"
  },
  "license": "NA",
  "config": {
    "forge": {
      "packagerConfig": {
        "icon": "src/images/n.ico"
      },
      "makers": [
        {
          "name": "@electron-forge/maker-squirrel",
          "config": {
            "name": "C"
          }
        },
        {
          "name": "@electron-forge/maker-zip",
          "platforms": [
            "darwin"
          ]
        },
        {
          "name": "@electron-forge/maker-deb",
          "config": {}
        },
        {
          "name": "@electron-forge/maker-rpm",
          "config": {}
        }
      ]
    }
  },
  "dependencies": {
    "axios": "^0.21.1",
    "bootstrap": "^4.6.0",
    "cross-env": "^7.0.3",
    "ebay-oauth-nodejs-client": "^1.2.1",
    "electron-better-ipc": "^1.1.1",
    "electron-squirrel-startup": "^1.0.0",
    "electron-store": "^7.0.2",
    "jquery": "^3.6.0",
    "json-csv": "^3.0.6",
    "sequelize": "^6.5.0",
    "sqlite3": "^5.0.0"
  },
  "devDependencies": {
    "@electron-forge/cli": "^6.0.0-beta.54",
    "@electron-forge/maker-deb": "^6.0.0-beta.54",
    "@electron-forge/maker-rpm": "^6.0.0-beta.54",
    "@electron-forge/maker-squirrel": "^6.0.0-beta.54",
    "@electron-forge/maker-zip": "^6.0.0-beta.54",
    "electron": "10.1.5"
  }
}

我发现通过简单地创建一个 DMG 目标(参见 https://www.electronforge.io/config/makers/dmg)我不需要担心解压缩过程。我相信 DMG 是打包 Mac OS 应用程序的理想方法,这些应用程序内部集成了 SQLite 数据库。