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

我可以为我的应用程序生成.exe文件,但是在尝试安装时会引发错误:“找不到模块'调试'”。请找到随附的屏幕截图node.js -  Electron 更新程序: Can not find module  'debug'-LMLPHP

没有 Electron 更新程序的实现,我的应用程序运行良好。当我在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();
});

请在下面找到库说明:
  • “electron-updater”:“^ 4.0.6”
  • “electron”:“^ 3.0.6”
  • “Electron 生成器”:“^ 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*"
          }
        ]
      },
    

    最佳答案

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

  • 许多 Node 模块将具有"src"文件夹,这些文件夹必须与您的应用程序源代码一起打包/ bundle 在一起。
  • 如果您观察到"debug"下的"node_modules"模块文件夹,则它具有"src"文件夹,该文件夹已被上述规则排除。


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

    关于node.js - Electron 更新程序: Can not find module 'debug' ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54128383/

    10-09 18:28