Electron 앱 자동 업데이트하기
autoUpdater를 사용하면 Electron 앱이 최신 버전을 확인하고 스스로 업데이트할 수 있다. 1
설치
autoUpdater는 NPM이나 yarn으로 설치할 수 있다:
npm install --save—dev electron-updater
또는
yarn add electron-updater
예제
Electron의 main .js 파일에서 autoUpdater는 다음과 같이 정의할 수 있다:
// main.js
const { autoUpdater } = require("electron-updater");
autoUpdater.setFeedURL({
provider: "github",
host: "github.com",
owner: "{ username }",
repo: "{ repository }",
token: "{ token }",
});
이벤트
- checking-for-update:
업데이트 확인이 시작될 때 발생한다. - update-available:
사용 가능한 업데이트가 있을 때 발생한다.autoDownload = true이면 업데이트가 자동으로 다운로드된다. 이 이벤트는 version, releaseDate, releaseNotes 등을 포함한다. - update-not-available:
사용 가능한 업데이트가 없을 때 발생한다. - error:
오류가 발생했을 때 발생한다. - download-progress:
업데이트 다운로드가 시작될 때 발생한다. 이 이벤트는 다운로드 진행률을 포함한다. - update-downloaded:
업데이트 다운로드가 완료되었을 때 발생한다. 이 이벤트는 version, releaseDate, releaseNotes, downloadFile 등을 포함한다.
속성
- autoDownload:
autoDownload는 업데이트가 발견되었을 때 자동으로 다운로드할지 여부를 정의한다.autoDownload = false이면 update-available 이벤트를 받은 후autoUpdater.downloadUpdate()를 직접 실행해야 한다. - autoInstallOnAppQuit:
autoInstallOnAppQuit는 다운로드된 업데이트를 앱 종료 시 자동으로 설치할지 여부를 정의한다.autoInstallOnAppQuit = false이면autoUpdater.quitAndInstall()을 직접 실행해야 한다.
메서드
- setFeedURL(options):
업데이트 제공자(provider)를 설정한다. GitHub을 제공자로 사용하는 경우options는 provider, host, owner, repo, token 등으로 구성된다. - checkForUpdatesAndNotify():
서버에 업데이트가 있는지 확인한다. - downloadUpdate():
업데이트 다운로드를 시작한다. - quitAndInstall():
업데이트가 다운로드된 후 앱을 재시작하여 업데이트를 설치한다. 이 메서드는update-downloaded이벤트가 발생한 후에 호출해야 한다.