npm 包 @electron-forge/maker-flatpak 使用教程

阅读时长 6 分钟读完

前言

随着 Linux 操作系统的不断普及,Flatpak 越来越成为开发者构建 Linux 应用程序的首选方式。本文将介绍如何使用 npm 包 @electron-forge/maker-flatpak 来制作 Flatpak 包来方便 Linux 用户使用你的 Electron 应用程序。

安装和配置

安装 Electron Forge

首先需要安装 Electron Forge,它是一个构建和打包 Electron 应用程序的工具。

安装 Flatpak 依赖

在制作 Flatpak 包之前,需要安装一些依赖项:

1. Flatpak

Flatpak 是一个 Linux 应用程序的打包和部署工具,可以在多个发行版上运行。在 Ubuntu 和 Debian 下,可以通过以下方式安装:

或在 Fedora 下,可以通过以下方式安装:

2. GNOME 应用运行时

Flatpak 软件包需要运行时环境来运行,这里我们选择 GNOME 应用运行时。在 Ubuntu 和 Debian 下,可以通过以下方式安装:

或在 Fedora 下,可以通过以下方式安装:

安装 @electron-forge/maker-flatpak

接下来,需要将 npm 包 @electron-forge/maker-flatpak 安装到项目中:

配置 package.json

在 package.json 中,需要添加一个额外的 Forge 配置项,以便 Electron Forge 将应用程序打包为 Flatpak 包。

-- -------------------- ---- -------
-
  -- ---
  --------- -
    -- ---
    -------- -
      -- ---
      --------- -
        -
          ------- --------------------------------
          --------- -
            ------------------ --------
            ----------------------- -
              -------------- -
                --------------
              --
              --------------------- -
                -----
              --
              ---------- -
                -
                  ------- -------
                  -------------- ---------
                  --------- -
                    ---------- -
                      -
                        ------- -------
                        ------- -------------------------
                        ------- ----------------------------------------------------
                        ---------- ----
                      -
                    -
                  -
                -
              -
            -
          -
        -
      -
    -
  -
-

配置项中的 base-flatpak-id 是 Flatpak 软件包的唯一标识符,你需要使用你自己的标识符替换它。

extra-flatpak-config 中,我们定义了 Flatpak 包的一些详细配置信息:

  • finish-argsfinish-permissions 定义了我们的应用程序需要使用的权限。在这个例子中,我们需要访问 X11 服务,因此需要添加 --socket=x11 参数,并且需要在 finish-permissions 中添加 x11 权限。
  • modules 定义了 Flatpak 所需的其他运行时模块。在这里,我们需要添加 dbus 模块,并且需要将 org.test.MyApp.service 文件打包到软件包中。

打包和构建

完成以上所有步骤后,就可以使用 Electron Forge 打包和构建 Flatpak 包了!

打包

--targets 参数告诉 Electron Forge 我们要使用 Flatpak 目标,--arch 参数指定我们正在构建的架构。在这个例子中,我们正在构建一个 x64 的 Flatpak 包。

构建

构建使用 Flatpak Builder 进行,因此需要指定 Flatpak 应用仓库以便 Builder 可以从中下载依赖包。

在执行构建之前,--repo 参数需要被指定为 Flatpak 应用仓库的地址,--tmpdir 参数指定构建期间使用的临时目录,并且需要在 --env 参数中定义 FLATPAK_BUILDER_NETWORK=host,以便 Flatpak Builder 可以访问网络。

结语

使用 @electron-forge/maker-flatpak,可以方便快捷地为 Linux 用户创建 Flatpak 应用程序,使你的 Electron 应用程序成为跨平台的真正的软件。

示例代码:https://github.com/electron-userland/electron-forge/tree/master/examples/multi-makefile

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f308f303b0ab45f74a8bcbb

纠错
反馈