【问题标题】:Electron builder wont properly install电子生成器无法正确安装
【发布时间】:2019-01-06 21:16:28
【问题描述】:

我正在尝试电子构建我的测试项目

{
  "name": "////////",
  "version": "1.0.21",
  "description": "///////",
  "main": "index.js",
  "scripts": {
    "start": "./node_modules/.bin/electron .",
    "build": "build --win",
    "test": "echo \"Error: no test specified\" && exit 1",
    "rebuild": "electron-rebuild -f -w bcrypt"
  },
  "build": {
    "squirrelWindows": {
      "remoteReleases": ""
    },
    "win": {}
  },
  "devDependencies": {
    "devtron": "^1.4.0",
    "electron": "^2.0.2",
    "electron-builder": "^20.26.1",
    "electron-packager": "^12.1.0",
    "electron-prebuilt": "^1.4.13",
    "electron-rebuild": "^1.8.1",
    "electron-reload": "^1.2.2",
    "electron-squirrel-startup": "^1.0.0",
    "electron-updater": "^2.23.3",
    "electron-window-state": "^4.1.1",
    "electron-winstaller": "^2.6.4"
  },
  "dependencies": {
    "async": "^2.6.1",
    "bcryptjs": "^2.4.3",
    "child_process": "^1.0.2",
    "devtron": "^1.4.0",
    "express": "^4.16.3",
    "mysql2": "^1.5.3",
    "tedious": "^2.6.1",
    "update-electron-app": "^1.3.0"
  }
}

在一段时间内这工作正常,我得到了我的 exe.file、blockmap 文件和 latest.yml,但是当我安装构建的应用程序时,我收到以下错误:

squirrel error

我知道这个问题是因为它认为应用程序没有安装,但我做错了什么?到目前为止,我没有收到任何错误 此错误的代码如下:

    <script>
      //const package = require('./package.json')
      
      const remote = require("electron").remote
      const autoUpdater = remote.autoUpdater
    
      autoUpdater.on('update-availabe', () => {
        console.log('update available')
      })
      autoUpdater.on('checking-for-update', () => {
        console.log('checking-for-update')
      })
      autoUpdater.on('update-not-available', () => {
        console.log('update-not-available')
      })
    
      autoUpdater.on('update-downloaded', (e) => {
        console.log(e)
        alert("Install?")
          autoUpdater.quitAndInstall()
      })
    
      autoUpdater.setFeedURL('https://x.x.x.x.x/x/')
    
      autoUpdater.checkForUpdates()
      window.autoUpdater = autoUpdater
      
      </script>

【问题讨论】:

  • 只是猜测:也许 FeedURL 以某种方式损坏了?你能检查网络面板吗?可能此 URL 存在网络错误。
  • 已经尝试替换 FeedURL,如果是这个错误,错误框将显示一条警告,指出该 url 目前不可用
  • 松鼠有问题,只是不确定是什么

标签: javascript electron electron-builder


【解决方案1】:

不是 100% 确定,但如果您的 package.json 文件的字段 "name" 真的是 "////////",则它可能无效。比如根据package.json | npm Documentation

名称最终成为 URL 的一部分,命令行上的一个参数, 和文件夹名称。因此,名称不能包含任何非 URL 安全的 字符。

【讨论】:

  • 哦,这只是为了“不向所有人展示”它,常规文件夹有名称和描述:D 否则谢谢
【解决方案2】:

晚了,但这是因为您将 squirrel 声明为开发人员依赖项,并且不会包含在生产版本中。对于遇到此类问题的其他任何人,如果它说它缺少一个模块,只需将其作为依赖项包含在内。

【讨论】:

    猜你喜欢
    • 2019-12-27
    • 2017-06-13
    • 2015-04-15
    • 2016-03-28
    • 1970-01-01
    • 2016-02-17
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    相关资源
    最近更新 更多