electron updater 4.2.0软件包不下载新版本,但可以检测到
这是github上的私有存储库
新版本成功发送到github
在 package.json 中:
"build": {
"appId": "com.myApp.ID",
"npmRebuild": false,
"win": {
"icon": "./resources/electron/icons/256x256.png",
"publish": [
{
"provider": "github",
"owner": "me",
"repo": "POS",
"private": true,
"releaseType": "release",
"token": "<private token>"
}
],
"target": [
{
"target": "nsis",
"arch": [
"x64"
]
}
]
}
},
我的electron.js文件或main.js有:
win.webContents.on('did-finish-load', () => {
if(!serve) {
appUpdater(win);
}
});
appUpdater 功能是:
function appUpdater(win) {
autoUpdater.autoInstallOnAppQuit = true;
autoUpdater.autoDownload = true;
autoUpdater.logger = logger;
/* Log whats happening
TODO send autoUpdater events to renderer so that we could console log it in developer tools
You could alsoe use nslog or other logging to see what's happening */
let foundUpdate = false;
autoUpdater.on('checking-for-update', () => {
dialog.showMessageBox(win, {
message: 'CHECKING FOR UPDATES !!'
});
});
autoUpdater.on('update-available', () => {
foundUpdate = true;
dialog.showMessageBox(win, {
message: ' update-available !!'
});
});
autoUpdater.on('error', error => {
autoUpdater.logger.debug(error);
});
// Ask the user if update is available
autoUpdater.on('update-downloaded', (_event, releaseNotes, _releaseName) => {
let message = 'A new version is now available. It will be installed the next time you restart the application.';
dialog.showMessageBox(win, {
type: 'question',
buttons: ['Install', 'Later'],
defaultId: 0,
message: 'A new version has been downloaded',
detail: message
}, response => {
if(response === 0) {
setTimeout(() => autoUpdater.quitAndInstall(), 1);
}
});
});
// init for updates
setInterval(() => {
if(!foundUpdate) {
autoUpdater.checkForUpdates();
}
}, 60000);
}
exports.appUpdater = appUpdater;
得到记录
可自动更新的目标是 windows nsis
检查更新和可用更新事件正确触发,但更新下载或错误根本不触发
如果您已经有经验,请告诉我
注意:我也在用户计算机中设置了环境变量GH_TOKEN
答案 0 :(得分:0)
现在总比没有好 我正在为 mac bigSur 的新更新而苦苦挣扎,因为 electron-builder@^20.38.0 给了我非常严重的错误!!! 所以我决定更新到最新版本
electron: ^12.0.2
electron-builder: ^22.10.5
electron-updater: ^4.3.8
它起初不起作用,给我这样的错误: 无法差异下载,回退到完整下载:错误:允许的最大大小为 50 MB。
最后我本地的node版本是v10.15.1 我更新到 v14.16.0 现在它可以工作了!
使用其他版本更新和降级的另一个问题 它正在下载但安装失败。