任何 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
继承自¶
compression?¶
readonly
optional
compression:null
|CompressionLevel
压缩级别。 如果您想快速测试构建,store
可以显着减少构建时间。 maximum
不会导致明显的尺寸差异,但会增加构建时间。
默认¶
normal
继承自¶
PlatformSpecificBuildOptions
.compression
cscKeyPassword?¶
optional
cscKeyPassword:null
|string
继承自¶
PlatformSpecificBuildOptions
.cscKeyPassword
cscLink?¶
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
继承自¶
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
)。
文件模式(以及对 from
和 to
字段的支持)与 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"]
}
]
您也可以在 from
和 to
字段中使用文件宏。 from
和 to
可以是文件,您可以使用它在打包时重命名文件。
继承自¶
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 类型,请使用它。
继承自¶
protocols?¶
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
简短描述。
继承自¶
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,则应删除 gconf2
和 gconf-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 选项¶
顶级的 apk
、freebsd
、pacman
、p5p
和 rpm
键包含一组选项,用于指示 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
继承自¶
压缩方式?¶
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
继承自¶
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 类型,请使用它。
继承自¶
软件包类别?¶
readonly
optional
packageCategory:null
|string
软件包类别。
软件包名称?¶
readonly
optional
packageName:null
|string
包的名称。
publish?¶
optional
publish:Publish
继承自¶
概要?¶
readonly
optional
synopsis:null
|string
简短描述。
继承自¶
供应商?¶
readonly
optional
vendor:null
|string