PC 客户端自动更新配置

一、前端配置

  • package.json 里面的版本信息
  • package-lock.json 里面的 electron 版本信息
  • background.ts 的更新地址
  • vue.config.js
  • 还有生成的 latest.yml 文件

package.json 里面的版本信息

 "name": "unimax-pc",
  "version": "1.0.0",    // pc版本信息 每次打包前需要检查当前手动新增版本号,上次1.0.0 这次打包版本号为1.0.1
  "private": true,
  "description": "Hello World!",
  "devDependencies": {
    "electron": "^13.0.1",
    "electron-updater": "^4.3.9",
  }

package-lock.json 里面的 electron 版本信息

 "electron": {
      "version": "13.1.8",   // 要注意版本是否相同,版本不同的话,不能自动更新
      "resolved": "https://registry.nlark.com/electron/download/electron-13.1.8.tgz",
      "integrity": "sha1-pt727KfK/HsGio9xoGnlIbqAMYI=",
      "dev": true,
      "requires": {
        "@electron/get": "^1.0.1",
        "@types/node": "^14.6.2",
        "extract-zip": "^1.0.3"
      }
    },

background.ts 的更新地址


    //vue.config.json配置的一样
    autoUpdater.setFeedURL(
      "http://xxx.xxx.xx.xx:8080/prj-trqz/ext/download"      // 配置成需要使用的服务地址
    );

vue.config.js

 publish: [{
          provider: "generic",
          url: "http://xxx.xxx.xx.xx:8080/prj-trqz/ext/download/"   // 配置成需要使用的服务地址
        }],

如不想手动修改文件名可在 vue.config.js 修改项目名称productName 和设置打包名称artifactName

...
module.exports = {
	...
	pluginOptions:{
        electronBuilder:{
        	...
        	builderOptions:{
        		    productName: "unimax-pc",									// *productName
                    artifactName: "${productName}_Setup_${version}.${ext}",  	// *打包名称确定 
                   	...
        	}
    	}
	}
}

latest.yml 文件

version: 1.0.0   	// pc版本,可配置
files:
  - url: unimax-pc_Setup_1.0.0.exe
path: unimax-pc_Setup_1.0.0.exe
sha512: U7XwU/OPCjIQRn7wOjaoKCnE3GBb/1xiOliIxWW8LeMCth1oujipnjAySUZFxRRhqRr6IkJWyRV2OEyPv7g4hw==
releaseDate: '2021-08-04T10:18:23.512Z'

注意:要将安装包和 yml 的文件名的空格改为下划线,yml 文件里面也要修改一下;

​ 如已在 vue.config.js 中已修改项目名称productName 和打包名称artifactName,则不用修改 latest.yml

二、后台配置

将修改后的这两个文件放在 mestar_home 文件夹下

  • latest.yml
  • unimax-pc Setup 1.0.0.exe

准备工作 (未设置打包名称)

pc 打成 dist 包 获取其中这两个文件

  • latest.yml

  • unimax-pc Setup 1.0.0.exe

将 exe 文件中的空格换成下划线

  • unimax-pc_Setup_1.0.0.exe

将 latest.yml 文件中的

// 原
...
url: unimax-pc Setup 1.0.0.exe   
path: unimax-pc Setup 1.0.0.exe

// 改
...
url: unimax-pc_Setup_1.0.0.exe   
path: unimax-pc_Setup_1.0.0.exe

更新问题

如遇到更新不下来或更新异常, 需要检查新包和旧包的 package.json 的版本是否为递增的

PC 端打包报错

错误现象

执行 pc 端 build 时 会遇到下载依赖失败错误,原因是依赖的仓库在 github 上,网络会不稳定,所以报错信息中提供离线下载的方法

  • 打包时下载 electron-v.xxxx.zip 文件失败
解决方法:直接在淘宝镜像库下载对应版本文件,下载完成后放在  
`C:\Users\XXXX\AppData\Local\electron\Cache` 这个目录下
  • winCodeSign
    fhunJI.png
  • nsis

fhumFA.png

  • nsis-resource

fhuZod.png

解决办法

  • 点击报错的地址进入对应网站下载依赖

  • 找到打包时报错的资源名字及其对应的版本,然后放入报错的 url 对应的本地 path 处,解压对应的 path 是

C:\Users\XXXXXX\AppData\Local\electron-builder\Cache\winCodeSign

C:\Users\XXXXXX\AppData\Local\electron-builder\Cache\nsis

C:\Users\XXXXXX\AppData\Local\electron-builder\Cache\nsis-resources