电子更新程序:找不到模块“调试”

时间:2019-01-10 12:08:09

标签: node.js angular sqlite electron

我正在使用Electronjs开发桌面应用程序(windows / mac)。我正在尝试使用电子更新程序来实现自动更新功能,因为我在建筑物中使用了电子构建程序。

我能够为我的应用生成.exe文件,但是在尝试安装时,它会引发错误:“ 找不到模块'debug'”。请找到所附的屏幕截图Auto-updater-error

没有电子更新程序实现,我的应用程序运行良好。当我在index.js中导入 autoUpdator 时,开始出现该错误。我正在使用如下的autoUpdator:

const {autoUpdater} = require("electron-updater");
autoUpdater.on('update-downloaded', (ev, info) => {
  setTimeout(function() {
    autoUpdater.quitAndInstall();  
  }, 5000)
})
app.on('ready', ()=> {
  autoUpdater.checkForUpdates();
});

请在下面找到库的描述:

  • “电子更新程序”:“ ^ 4.0.6”
  • “电子”:“ ^ 3.0.6”
  • “电子建造者”:“ ^ 20.38.4”

我关注了以下链接:

Electron builder Auto Update

electron builder using local server

我是Electron js的新手,正在积极寻求您的支持。

根据要求,请在下面找到我的构建配置:

"build": {
    "appId": "com.****.*****",
    "productName": "********",
    "directories": {
      "output": "build"
    },
    "publish": [
      {
        "provider": "generic",
        "url": "http://127.0.0.1:4080/"
      }
    ],
    "nsis": {
      "oneClick": false,
      "perMachine": true,
      "allowElevation": true,
      "allowToChangeInstallationDirectory": true,
      "deleteAppDataOnUninstall": true,
      "createDesktopShortcut": true
    },
    "win": {
      "target": "nsis"
    },
    "files": [
      "!**/.vscode",
      "!**/build",
      "!**/config",
      "!**/assets/data",
      "!**/src"
    ],
    "extraResources": [
      {
        "from": "src/assets/data",
        "to": "dist/assets/data",
        "filter": "database*"
      }
    ]
  },

1 个答案:

答案 0 :(得分:1)

排除列表中的行"!**/src"是罪魁祸首。

  1. 许多节点模块将具有"src"文件夹,这些文件夹必须与您的应用程序源代码一起打包/捆绑在一起。
  2. 如果您观察到"debug"下的"node_modules"模块文件夹,则其中有一个"src"文件夹,该文件夹已被上述规则排除。

建议:如果您的应用程序源文件夹为"src",请将其重命名为"source"(由您控制​​),但请确保不要排除"src"文件夹node_modules(重新命名这些文件夹不在您的控制范围内,因为这可能会破坏模块的完整性,并且它们也将在新的npm install上被覆盖)