电子生成器无法正确安装

时间:2018-07-30 15:08:28

标签: javascript electron electron-builder

我正在尝试建立我的测试项目

{
  "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>

2 个答案:

答案 0 :(得分:0)

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

  

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

答案 1 :(得分:0)

最后,但这是因为您将松鼠声明为开发人员依赖项,因此不会将其包含在生产版本中。对于任何有类似问题的人,如果它说它缺少一个模块,只需将其作为依赖项即可。