在 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-builder
在windows
上制作:
| 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-builder
在darwin
上制作:
| 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 上列出磁盘驱动器的跨平台方法?
C/C++/Assembly 以编程方式检测超线程在 Windows、Mac 和 Linux 上是不是处于活动状态 [重复]