主题
electron-updater检测更新版本
在 Electron 应用中使用 electron-updater
来实现自动检测和下载更新是一个非常实用的功能。以下是如何在你的 Electron 应用中集成 electron-updater
的步骤:
安装依赖: 首先,你需要在你的项目中安装
electron-updater
和builder-util-runtime
这两个模块。可以通过运行以下命令来完成安装:bashnpm install electron-updater builder-util-runtime --save
配置
main.js
: 在你的主进程文件(通常是main.js
或main.ts
)中,引入并配置autoUpdater
模块。这里是一个基本的示例:javascriptconst { autoUpdater } = require('electron-updater'); const log = require('electron-log'); // 设置日志输出 autoUpdater.logger = log; autoUpdater.logger.transports.file.level = 'info'; function checkForUpdates() { log.info('Checking for updates...'); autoUpdater.checkForUpdates(); } autoUpdater.on('checking-for-update', () => { log.info('Checking for update...'); }); autoUpdater.on('update-available', (info) => { log.info('Update available.'); }); autoUpdater.on('update-not-available', (info) => { log.info('Update not available.'); }); autoUpdater.on('error', (err) => { log.error('Error in auto-updater: ', err); }); autoUpdater.on('download-progress', (progressObj) => { let log_message = "Download speed: " + progressObj.bytesPerSecond; log_message = `${log_message} - Downloaded ${progressObj.percent}%`; log_message = `${log_message} (${progressObj.transferred}/${progressObj.total})`; log.info(log_message); }); autoUpdater.on('update-downloaded', (info) => { log.info('Update downloaded; will be applied on restart.'); autoUpdater.quitAndInstall(); }); app.on('ready', checkForUpdates);
设置服务器: 你需要一个服务器来托管你的应用更新文件。
electron-updater
默认使用GitHub
作为更新服务器,但你也可以使用自定义的服务器。如果使用 GitHub,确保你的仓库是公开的,并且在main.js
中正确配置autoUpdater
的feedURL
。构建和发布: 使用
electron-builder
构建你的应用,并将其上传到你的更新服务器。确保在构建时使用了正确的配置选项来包含electron-updater
。测试更新: 最后,确保在真实环境中测试更新功能,以确保一切按预期工作。
这只是一个基础的指南,实际应用中可能需要根据具体需求进行更详细的配置。例如,你可能需要处理用户界面的更新通知、错误处理等。希望这能帮助你开始在 Electron 应用中实现自动更新功能!