跳到内容

任何 Linux 目标

顶级的 linux 键包含一组选项,用于指示 electron-builder 如何构建 Linux 目标。 这些选项适用于任何 Linux 目标。

基本 Linux 配置

Electron-Builder / app-builder-lib / LinuxConfiguration

继承自

属性

appId?

readonly optional appId: null | string

应用程序 ID。用作 MacOS 的 CFBundleIdentifier 和 Windows 的 应用程序用户模型 ID(仅限 NSIS 目标,不支持 Squirrel.Windows)。 强烈建议设置显式 ID。

默认
com.electron.${name}
继承自

PlatformSpecificBuildOptions.appId


artifactName?

readonly optional artifactName: null | string

输出文件名模板。 默认为 ${productName}-${version}.${ext}(某些目标可能具有其他默认值,请参阅相应的选项)。

继承自

PlatformSpecificBuildOptions.artifactName


asar?

readonly optional asar: null | boolean | AsarOptions

是否使用 Electron 的存档格式将应用程序的源代码打包到存档中。

必须解包的 Node 模块将自动检测到,您无需显式设置 asarUnpack - 如果这不起作用,请提交问题。

默认
true
继承自

PlatformSpecificBuildOptions.asar


asarUnpack?

readonly optional asarUnpack: null | string | string[]

相对于应用程序目录glob 模式,指定在创建 asar 存档时要解压缩哪些文件。

继承自

PlatformSpecificBuildOptions.asarUnpack


category?

readonly optional category: null | string

应用程序类别

继承自

CommonLinuxOptions.category


compression?

readonly optional compression: null | CompressionLevel

压缩级别。 如果您想快速测试构建,store 可以显着减少构建时间。 maximum 不会导致明显的尺寸差异,但会增加构建时间。

默认
normal
继承自

PlatformSpecificBuildOptions.compression


cscKeyPassword?

optional cscKeyPassword: null | string

继承自

PlatformSpecificBuildOptions.cscKeyPassword


optional cscLink: null | string

继承自

PlatformSpecificBuildOptions.cscLink


defaultArch?

readonly optional defaultArch: string

继承自

PlatformSpecificBuildOptions.defaultArch


description?

readonly optional description: null | string

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

继承自

CommonLinuxOptions.description


desktop?

readonly optional desktop: null | LinuxDesktopFile

桌面文件

继承自

CommonLinuxOptions.desktop


detectUpdateChannel?

readonly optional detectUpdateChannel: boolean

是否从应用程序版本预发布组件推断更新频道。 例如,如果版本为 0.12.1-alpha.1,频道将设置为 alpha。 否则为 latest。 这*不*适用于 github 发布,它永远不会自动检测更新频道

默认
true
继承自

PlatformSpecificBuildOptions.detectUpdateChannel


disableDefaultIgnoredFiles?

optional disableDefaultIgnoredFiles: null | boolean

是否排除所有默认忽略的文件 (https://builder.electron.js.cn/contents#files) 和选项。 默认为 false

默认
false
继承自

PlatformSpecificBuildOptions.disableDefaultIgnoredFiles


electronLanguages?

readonly optional electronLanguages: string | string[]

要保留的 Electron 语言环境。 默认情况下,所有 Electron 语言环境都按原样使用。

继承自

PlatformSpecificBuildOptions.electronLanguages


electronUpdaterCompatibility?

readonly optional electronUpdaterCompatibility: null | string

electron-updater 兼容性 semver 范围。

继承自

PlatformSpecificBuildOptions.electronUpdaterCompatibility


executableArgs?

readonly optional executableArgs: null | string[]

可执行文件参数。 传递给 executableName

继承自

CommonLinuxOptions.executableArgs


executableName?

readonly optional executableName: null | string

可执行文件名。 默认为 productName

继承自

PlatformSpecificBuildOptions.executableName


extraFiles?

optional extraFiles: null | string | FileSet | (string | FileSet)[]

extraResources 相同,但复制到应用程序的内容目录中(MacOS 为 Contents,Linux 和 Windows 为根目录)。

继承自

PlatformSpecificBuildOptions.extraFiles


extraResources?

optional extraResources: null | string | FileSet | (string | FileSet)[]

相对于项目目录的 glob 模式,指定后,将具有匹配名称的文件或目录直接复制到应用程序的 resources 目录中(MacOS 为 Contents/Resources,Linux 和 Windows 为 resources)。

文件模式(以及对 fromto 字段的支持)与 files 相同。

继承自

PlatformSpecificBuildOptions.extraResources


fileAssociations?

readonly optional fileAssociations: FileAssociation | FileAssociation[]

文件关联。

继承自

PlatformSpecificBuildOptions.fileAssociations


files?

optional files: null | string | FileSet | (string | FileSet)[]

相对于应用程序目录glob 模式,指定在复制文件以创建包时要包含哪些文件。

默认为

[
"**/*",
"!**/node_modules/*/{CHANGELOG.md,README.md,README,readme.md,readme}",
"!**/node_modules/*/{test,__tests__,tests,powered-test,example,examples}",
"!**/node_modules/*.d.ts",
"!**/node_modules/.bin",
"!**/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}",
"!.editorconfig",
"!**/._*",
"!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}",
"!**/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}",
"!**/{appveyor.yml,.travis.yml,circle.yml}",
"!**/{npm-debug.log,yarn.lock,.yarn-integrity,.yarn-metadata.json}"
]

在任何情况下都不会复制开发依赖项。 您无需显式忽略它。 默认情况下不会忽略隐藏文件,但所有应忽略的文件默认情况下都会被忽略。

如果您的某些模式不是忽略(即不以 ! 开头),则默认模式 **/* 不会添加到您的自定义模式中。 在任何情况下,package.json**/node_modules/**/*(仅复制生产依赖项)都会添加到您的自定义模式中。 所有默认忽略都会在任何情况下添加 - 如果您配置了自己的模式,则无需重复它。

可以在平台选项中指定(例如在 mac 中)。

您还可以通过使用 FileSet 对象而不是简单的 glob 模式来指定自定义源目录和目标目录。

[
{
 "from": "path/to/source",
 "to": "path/to/destination",
 "filter": ["**/*", "!foo/*.js"]
}
]

您也可以在 fromto 字段中使用文件宏fromto 可以是文件,您可以使用它在打包时重命名文件。

继承自

PlatformSpecificBuildOptions.files


forceCodeSigning?

readonly optional forceCodeSigning: boolean

如果应用程序未进行代码签名,是否失败。

继承自

PlatformSpecificBuildOptions.forceCodeSigning


generateUpdatesFilesForAllChannels?

readonly optional generateUpdatesFilesForAllChannels: boolean

请参阅 使用 Channels 构建和发布

默认
false
继承自

PlatformSpecificBuildOptions.generateUpdatesFilesForAllChannels


icon?

readonly optional icon: string

图标集目录或一个 png 文件的路径,相对于构建资源或项目目录。 图标文件名必须包含图标的大小(例如 32x32.png)。 默认情况下,将根据 macOS icns 文件自动生成。

覆盖

PlatformSpecificBuildOptions.icon


maintainer?

readonly optional maintainer: null | string

维护者。 默认为 author


mimeTypes?

readonly optional mimeTypes: null | string[]

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

继承自

CommonLinuxOptions.mimeTypes


protocols?

readonly optional protocols: Protocol | Protocol[]

URL 协议方案。

继承自

PlatformSpecificBuildOptions.protocols


publish?

optional publish: Publish

发布者配置。 有关更多信息,请参阅 自动更新

继承自

PlatformSpecificBuildOptions.publish


releaseInfo?

readonly optional releaseInfo: ReleaseInfo

发布信息。 旨在用于命令行。

-c.releaseInfo.releaseNotes="new features"
继承自

PlatformSpecificBuildOptions.releaseInfo


synopsis?

readonly optional synopsis: null | string

简短描述

继承自

CommonLinuxOptions.synopsis


target?

readonly optional target: TargetConfigType

目标包类型:AppImage、flatpak、snap、deb、rpm、freebsd、pacman、p5p、apk、7z、zip、tar.xz、tar.lz、tar.gz、tar.bz2、dir 的列表。

electron-builder docker 镜像可用于在任何平台上构建 Linux 目标。

请不要将 AppImage 放入另一个存档中,如 .zip 或 .tar.gz。

默认
AppImage
覆盖

PlatformSpecificBuildOptions.target


vendor?

readonly optional vendor: null | string

供应商。 默认为 author

Debian 包选项

顶级的 deb 键包含一组选项,用于指示 electron-builder 如何构建 Debian 包。

Electron-Builder / app-builder-lib / DebOptions

继承自

属性

afterInstall?

readonly optional afterInstall: null | string

要传递给 FPM 的脚本文件路径,用于 --after-install 参数。

继承自

LinuxTargetSpecificOptions.afterInstall


afterRemove?

readonly optional afterRemove: null | string

要传递给 FPM 的脚本文件路径,用于 --after-remove 参数。

继承自

LinuxTargetSpecificOptions.afterRemove


appArmorProfile?

readonly optional appArmorProfile: null | string

自定义 AppArmor 配置文件路径(Ubuntu 24+)

继承自

LinuxTargetSpecificOptions.appArmorProfile


artifactName?

readonly optional artifactName: null | string

输出文件名模板

继承自

LinuxTargetSpecificOptions.artifactName


category?

readonly optional category: null | string

应用程序类别

继承自

LinuxTargetSpecificOptions.category


compression?

readonly optional compression: null | "gz" | "bzip2" | "xz" | "lzo"

压缩类型。

默认
xz
继承自

LinuxTargetSpecificOptions.compression


depends?

readonly optional depends: null | string[]

包依赖项。 如果需要支持 Debian,则应删除 libappindicator1,它在 Debian 中已弃用。 如果需要支持 KDE,则应删除 gconf2gconf-service,因为它不再被 GNOME 使用。

默认
["libgtk-3-0", "libnotify4", "libnss3", "libxss1", "libxtst6", "xdg-utils", "libatspi2.0-0", "libuuid1", "libsecret-1-0"]
覆盖

LinuxTargetSpecificOptions.depends


description?

readonly optional description: null | string

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

继承自

LinuxTargetSpecificOptions.description


desktop?

readonly optional desktop: null | LinuxDesktopFile

桌面文件

继承自

LinuxTargetSpecificOptions.desktop


executableArgs?

readonly optional executableArgs: null | string[]

可执行文件参数。 传递给 executableName

继承自

LinuxTargetSpecificOptions.executableArgs


fpm?

readonly optional fpm: null | string[]

仅高级 fpm 选项。

示例: ["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]

继承自

LinuxTargetSpecificOptions.fpm


icon?

readonly optional icon: string

继承自

LinuxTargetSpecificOptions.icon


maintainer?

readonly optional maintainer: null | string

继承自

LinuxTargetSpecificOptions.maintainer


mimeTypes?

readonly optional mimeTypes: null | string[]

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

继承自

LinuxTargetSpecificOptions.mimeTypes


packageCategory?

readonly optional packageCategory: null | string

包类别

覆盖

LinuxTargetSpecificOptions.packageCategory


packageName?

readonly optional packageName: null | string

包的名称。

继承自

LinuxTargetSpecificOptions.packageName


priority?

readonly optional priority: null | string

优先级 属性。


publish?

optional publish: Publish

继承自

LinuxTargetSpecificOptions.publish


recommends?

readonly optional 推荐: null | string[]

The 推荐的软件包依赖

默认
["libappindicator3-1"]

概要?

readonly optional synopsis: null | string

简短描述

继承自

LinuxTargetSpecificOptions.synopsis


供应商?

readonly optional vendor: null | string

继承自

LinuxTargetSpecificOptions.vendor

所有 LinuxTargetSpecificOptions 也可以在 deb 中指定以自定义 Debian 软件包。

LinuxTargetSpecificOptions APK、FreeBSD、Pacman、P5P 和 RPM 选项

顶级的 apkfreebsdpacmanp5prpm 键包含一组选项,用于指示 electron-builder 如何构建相应的 Linux 目标。

Electron-Builder / app-builder-lib / LinuxTargetSpecificOptions

扩展自

扩展自

属性

afterInstall?

readonly optional afterInstall: null | string

要传递给 FPM 的脚本文件路径,用于 --after-install 参数。


afterRemove?

readonly optional afterRemove: null | string

要传递给 FPM 的脚本文件路径,用于 --after-remove 参数。


appArmorProfile?

readonly optional appArmorProfile: null | string

自定义 AppArmor 配置文件路径(Ubuntu 24+)


artifactName?

readonly optional artifactName: null | string

输出文件名模板

继承自

TargetSpecificOptions.artifactName


分类?

readonly optional category: null | string

应用程序类别

继承自

CommonLinuxOptions.category


压缩方式?

readonly optional compression: null | "gz" | "bzip2" | "xz" | "lzo"

压缩类型。

默认
xz

依赖?

readonly optional depends: null | string[]

软件包依赖。rpm 默认值为 ["gtk3", "libnotify", "nss", "libXScrnSaver", "(libXtst or libXtst6)", "xdg-utils", "at-spi2-core", "(libuuid or libuuid1)"] pacman 默认值为 ["c-ares", "ffmpeg", "gtk3", "http-parser", "libevent", "libvpx", "libxslt", "libxss", "minizip", "nss", "re2", "snappy", "libnotify", "libappindicator-gtk3"]


描述?

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


fpm?

readonly optional fpm: null | string[]

仅高级 fpm 选项。

示例: ["--before-install=build/deb-preinstall.sh", "--after-upgrade=build/deb-postinstall.sh"]


图标?

readonly optional icon: string


维护者?

readonly optional maintainer: null | string


mimeTypes?

readonly optional mimeTypes: null | string[]

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

继承自

CommonLinuxOptions.mimeTypes


软件包类别?

readonly optional packageCategory: null | string

软件包类别。


软件包名称?

readonly optional packageName: null | string

包的名称。


publish?

optional publish: Publish

继承自

TargetSpecificOptions.publish


概要?

readonly optional synopsis: null | string

简短描述

继承自

CommonLinuxOptions.synopsis


供应商?

readonly optional vendor: null | string