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` 这个目录下
- nsis-resource
解决办法
-
点击报错的地址进入对应网站下载依赖
-
找到打包时报错的资源名字及其对应的版本,然后放入报错的 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