在 Windows、Mac 和 Linux 上分发 Electron 应用程序

Posted

技术标签:

【中文标题】在 Windows、Mac 和 Linux 上分发 Electron 应用程序【英文标题】:Distributing an Electron app on Windows, Mac and Linux 【发布时间】:2018-12-17 13:36:25 【问题描述】:

我周末都在用 Electron 做实验,这给我带来了一些问题和困境。

我克隆了以下 Github 存储库进行测试: electron-vue-typescript-starter

此项目使用electron-builder 构建项目,基于您正在开发的主机平台。因为我是在 Windows 上开发的,所以它会构建一个 .exe 文件。

除了.exe,还有一些其他的文件。以下文件由electron-builderwindows 上制作:

| win-unpacked
|--- (lots of DDL's + electron-application.exe)

--- electron-builder.yaml  
--- electron-application setup 0.0.0.exe
--- electron-application setup 0.0.0.exe.blockmap
--- latest.yml

问题1:如果我想分发应用程序供公众使用,用户应该下载什么?仅.exe 设置?还是他们还需要一些/所有其他文件?

设置 macOS 虚拟机后,我也设法为darwin 平台构建了应用程序。以下文件由electron-builderdarwin 上制作:

| github
|--- latest-mac.json
| mac
|--- electron-application.app

--- electron-builder.yaml  
--- electron-application-0.0.0-mac.zip
--- electron-application-0.0.0.dmg
--- electron-application-0.0.0.dmg.blockmap
--- latest-mac.yml

问题2:用户需要从上面知道什么才能在darwin平台上使用/安装应用程序?

问题 3:我还没有为 linux 构建应用程序。但是如何分发linux 版本?这会和darwin 类似吗?

注意:我已经阅读了 electron-builder 文档的某些部分,但它确实很抽象,并没有解释(据我所知)有人将如何分发构建内容。

最干净的方法是为windows 提供一个.exe 文件,为darwin 提供一个.zip.dmg。但是其他文件是做什么用的?我应该怎么处理它们,因为它们的存在是有原因的,对吧?

【问题讨论】:

【参考方案1】:

对于分发,您需要为 windows 用户提供安装程序 (msi)。

您需要点击以下链接,这将回答您的所有问题。

electron-packager-tutorial

electron-windows-installer

以上教程还提供了有关创建 Debian 软件包的信息。

【讨论】:

感谢您的回答!正如我在上面的问题中所描述的,我能够为 Windows(使用electron-builder 的 NSIS 设置)和 darwin/mac(内部带有 Applicaiton 和 DMG 的 ZIP)创建包。我对来自electron-builder 的其他构建文件特别好奇。这些有什么用?用户需要它们吗? @Vincent 嘿,您是否找到了有关 .blockmap 之类的 darwin 特定文件的问题的答案?

以上是关于在 Windows、Mac 和 Linux 上分发 Electron 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Webfonts 在 Windows、Mac 和 Linux 上呈现不同

使用 Python 在 Linux、Windows 和 Mac 上列出磁盘驱动器的跨平台方法?

jenkins~集群分发功能的具体实现

jenkins~集群分发功能的具体实现

C/C++/Assembly 以编程方式检测超线程在 Windows、Mac 和 Linux 上是不是处于活动状态 [重复]

MEX (C -> Matlab) 转换为 int -> 在 mac/linux 和 windows 上双倍不同