Electron 앱 자동 업데이트하기

0

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 이벤트가 발생한 후에 호출해야 한다.