GNU/Linux >> Linux の 問題 >  >> Linux

Linuxで電子アプリの自動更新を実装するには?

標準というものは本当にありません *nixの世界で。常に特定のディストリビューションをサポートする必要があり、これらの各ディストリビューションには、自動アップデータを作成する複数の方法があります。

ご質問へ:

<オール>
  • 標準的な方法はありません。

  • それは、パッケージを実際に配布する方法によって異なります。 rpm/apt-get/apt install などのパッケージ マネージャーの使用を計画している場合、これらの各マネージャーには、自動更新のチェック対象となるパッケージの中にアプリケーションを構成する特定の方法があります。

  • .rpm / .deb の違い:

    <ブロック引用>

    パッケージメンテナー (Debian 用語では「開発者」だと思います) の主な違いは、パッケージのメタデータと付属のスクリプトを組み合わせる方法です。リンク

    Ubuntu と Fedora の違い:この質問に対する詳細な回答を作成すると、非常に長くなり、維持するのに多大な労力がかかるため、これら 2 つのディストリビューションの違いについて詳しく説明しているこのブログ投稿を確認してください。


  • プロジェクトで AppImage 形式が問題ない場合は、electron-simple-updater を試すことができます。


    アプリ画像

    electron-builder を使用できます ほぼすべての Linux ディストリビューションでアプリケーションをインストールまたは自動更新する Appimage を作成する

    <ブロック引用>

    AppImage は、ユニバーサル ソフトウェア パッケージ形式です。ソフトウェアを AppImage にパッケージ化することで、開発者は「すべてを支配する」ファイルを 1 つだけ提供します。エンド ユーザー、つまりあなたは、ほとんどの (すべてではないにしても) 最新の Linux ディストリビューションで使用できます

    アプリを自動更新する場合は、electron-autoupdater も必要です。 .ターゲット:

    • MacOS:DMG。
    • Linux:AppImage
    • Windows:NSIS

    これを使用するプロジェクトの例をここで見つけることができます。重要なファイル:package.jsonupdater.jsupdater_renderer.js

    これらの手順のいくつかを使用して、インストーラーを作成できます:

    yarn electron-builder --linux --x64
    yarn dist_linux                        # shortcut in package.json
    

    deb、rpm

    electron-builder で deb や rpm などのパッケージを作成できます 、しかし、それらを自動更新するかどうかは、Jens が回答で述べているように、それらをどのように配布するかによって異なります。最終ユーザーは、最新の状態に保つために適切なリポジトリを追加する必要がある場合があります


    Jens からの回答は本当に最高です。

    しかし、RPM と DEB の学習とすべてのディストリビューションのパッケージの構築に時間を費やしたくない場合は、Flatpak を使用してアプリケーションをパッケージ化することを検討してください。 http://flatpak.org/#about

    Ubuntu、RHEL で実行できる 1 つの大きなアーカイブを作成します....どこでも。


    Linux
    1. Linux用のPythonアプリケーションをパッケージ化する方法

    2. Electronを使用してLinuxデスクトップアプリを構築した方法

    3. Linux Mint 20.3にアップグレードする方法:正しい方法

    1. LinuxでAppimageを開く方法

    2. Linuxでパッケージバージョンを見つける方法

    3. Linuxにインストールせずにパッケージをテストする方法

    1. Linuxでパッケージの依存関係を一覧表示する方法

    2. インストールする前にLinuxパッケージのバージョンを確認する方法

    3. LinuxRPMパッケージを作成する方法