跳到内容

Flatpak

单文件 Flatpak 捆绑包

目前,electron-builder **不**支持将应用程序发布到 Flatpak 仓库,例如 Flathub。 这意味着 electron-builder 中的 Flatpak 支持仅限于生成 单文件捆绑包,与从仓库安装的应用程序捆绑包相比,它有各种限制。

值得一提的是,有一些 计划 计划 旨在使将 Electron 应用程序发布到 Flathub 更加容易。 当这种情况发生时,应该更容易为 electron-builder 创建一个 Flathub 发布器(其工作方式与其他发布器类似)。

顶级的 flatpak 键包含一组选项,用于指示 electron-builder 如何构建 Flatpak 捆绑包。

构建依赖项

需要安装 flatpakflatpak-builder 包才能构建 Flatpak 捆绑包。

故障排除

如果 Flatpak 构建过程失败并出现类似 “flatpak failed with status code X” 的错误消息,则设置 DEBUG="@malept/flatpak-bundler" 环境变量应提供有关该错误的更多上下文。

启用 Flatpak 构建调试日志记录

env DEBUG="@malept/flatpak-bundler" electron-builder build --linux flatpak

配置

Electron-Builder / app-builder-lib / FlatpakOptions

扩展

属性

artifactName?

readonly optional artifactName: null | string

制品文件名模板

继承自

TargetSpecificOptions.artifactName


base?

readonly optional base: string

从指定应用程序的文件开始。 这可以用于创建扩展另一个应用程序的应用程序。 默认为 org.electronjs.Electron2.BaseApp

请参阅 flatpak 清单文档


baseVersion?

readonly optional baseVersion: string

使用在 base 中指定的应用程序的此特定版本。 默认为 20.08

请参阅 flatpak 清单文档


branch?

readonly optional branch: string

导出应用程序时要使用的分支。 默认为 master

请参阅 flatpak 清单文档


category?

readonly optional category: null | string

应用程序类别

继承自

CommonLinuxOptions.category


description?

readonly optional description: null | string

与应用程序 package.json 中的 description 相同,但允许您为 Linux 指定不同的描述。

继承自

CommonLinuxOptions.description


desktop?

readonly optional desktop: null | LinuxDesktopFile

桌面文件

继承自

CommonLinuxOptions.desktop


executableArgs?

readonly optional executableArgs: null | string[]

可执行参数。 传递给 executableName

继承自

CommonLinuxOptions.executableArgs


files?

readonly optional files: [string, string][]

要直接复制到应用程序中的文件。 应该是 [source, dest] 元组的列表。 Source 应该是要复制到 flatpak 中的文件/目录的相对/绝对路径,而 dest 应该是应用程序安装前缀内的路径(例如 /share/applications/)。

请参阅 @malept/flatpak-bundler 文档


finishArgs?

readonly optional finishArgs: string[]

传递给 flatpak build-finish 命令的参数数组。 默认为

[
  // Wayland/X11 Rendering
  "--socket=wayland",
  "--socket=x11",
  "--share=ipc",
  // Open GL
  "--device=dri",
  // Audio output
  "--socket=pulseaudio",
  // Read/write home directory access
  "--filesystem=home",
  // Allow communication with network
  "--share=network",
  // System notifications with libnotify
  "--talk-name=org.freedesktop.Notifications",
]

请参阅 flatpak 清单文档


license?

readonly optional license: null | string

EULA 许可证文件的路径。 默认为 license.txteula.txt(或大写变体)。 仅支持纯文本。


mimeTypes?

readonly optional mimeTypes: null | string[]

除了文件关联中指定的 mime 类型之外的 mime 类型。 如果您不想注册新的 mime 类型,而是想重用现有的 mime 类型,请使用它。

继承自

CommonLinuxOptions.mimeTypes


modules?

readonly optional modules: any[]

一个对象数组,用于指定要按顺序构建的模块。

请参阅 flatpak 清单文档


publish?

optional publish: Publish

继承自

TargetSpecificOptions.publish


runtime?

readonly optional runtime: string

应用程序使用的运行时的名称。 默认为 org.freedesktop.Platform

请参阅 flatpak 清单文档


runtimeVersion?

readonly optional runtimeVersion: string

应用程序使用的运行时的版本。 默认为 20.08

请参阅 flatpak 清单文档


sdk?

readonly optional sdk: string

应用程序构建时使用的开发运行时的名称。 默认为 org.freedesktop.Sdk

请参阅 flatpak 清单文档


readonly optional symlinks: [string, string][]

要在应用程序文件中创建的符号链接。 应该是 [target, location] 符号链接元组的列表。 Target 可以是应用程序安装前缀内的相对或绝对路径,location 应该是前缀内的绝对路径,用于创建符号链接。

请参阅 @malept/flatpak-bundler 文档


synopsis?

readonly optional synopsis: null | string

简短描述

继承自

CommonLinuxOptions.synopsis


useWaylandFlags?

readonly optional useWaylandFlags: boolean

是否在包装器脚本中启用 Wayland 特定标志 (--enable-features=UseOzonePlatform --ozone-platform=wayland)。 这些标志仅从 Electron 版本 12 开始可用。 默认为 false