【发布时间】:2021-06-08 19:47:15
【问题描述】:
当我在我的 Github Repro 中发布新更新时,我正在尝试让我的 Electron Vue.js 应用程序自行更新。
我正在使用“electron-builder”打包我的应用程序,这是我的package.json
我关注了this guide,但没有成功。
这是位于 src/main/index.js 顶部的更新程序部分的代码。
const { app, autoUpdater, dialog } = require('electron')
const server = "https://hazel.scarvite.now.sh/"
const feed = `${server}/update/${process.platform}/${app.getVersion()}`
autoUpdater.setFeedURL(feed)
setInterval(() => {
autoUpdater.checkForUpdates()
}, 60000)
autoUpdater.on('update-downloaded', (event, releaseNotes, releaseName) => {
const dialogOpts = {
type: 'info',
buttons: ['Restart', 'Not Now. On next Restart'],
title: 'Update',
message: process.platform === 'win32' ? releaseNotes : releaseName,
detail: 'A New Version has been Downloaded. Restart Now to Complete the Update.'
}
dialog.showMessageBox(dialogOpts).then((returnValue) => {
if (returnValue.response === 0) autoUpdater.quitAndInstall()
})
})
autoUpdater.on('error', message => {
console.error('There was a problem updating the application')
console.error(message)
})
希望大家能帮帮我
【问题讨论】:
-
我可以理解,我花了几天时间让我的自动更新程序正常工作。您能否包括您的
package.json以及您打包应用程序的方式,例如electron-builder或electron-packager. -
我的
package.json语法与您的不同。尝试删除repository.url末尾的.git。还可以尝试将build.win.publish更改为类似:"publish": {"provider": "github"}的对象。此外,您似乎没有使用electron-builder发布您的版本,那么您如何在 Github 上发布版本? -
正在使用 npm run build -w 打包我们的应用程序,它执行“node .electron-vue/build.js && electron-builder”。并将其打包到一个 exe 中,然后我们将其发布到我链接的 repro 上。如果你是这个意思
-
好的,如果我的
package.json语法建议不起作用,请尝试使用electron-builder的-p选项在Github 上发布二进制文件。这将自动在 Github 存储库上发布新版本。 See docs -
嗨@Meilech,我没有让它与榛树一起工作,如果这是一个错误配置问题,我只是没有工作。我切换到 github 版本进行更新,并在下面描述了我是如何让它工作的
标签: javascript windows vue.js electron electron-updater