mac 系统,electron如何使用packager构建exe程序?
发布于 作者:苏南大叔 来源:程序如此灵动~总有这么一个命题,electron
是否可以在 mac
系统上构建exe
版本,答案是可以的。本文中,苏南大叔就实践一下这个命题。本文的打包主角是electron-packager
,代码是electron-quick-start
。对这两个名词瞅着眼生的同学,请先查看文末相关链接。
不过,丑话说前面,苏南大叔并不推荐您在mac
系统上构建exe
。所以,本文存在的目的,仅仅是证明一下其可行性,而并不是在推荐您这么做,请知悉。个人建议:专业的事情请交到专业的人去做,构建exe
,请到win
系统下面操作。
本文的测试环境是:mac mojave@10.14.1
,electron@3.0.5
,wine@3.0.2
,electron-packager@12.2.0
。
安装基础模块
本实践的基础代码是:
代码下载回来后,需要先安装相关模块,并且全局安装electron-packager
。这些都是基本套路,苏南大叔在这里就不详细说明了。
npm install
npm install electron-packager -g
相关文章:
安装wine
因为苏南大叔的目标是:在mac
系统中,构建exe
程序。这个过程中,就需要个插件,叫做wine
。wine
的安装是比较容易出问题的。下面有一些遇到wine
安装问题的解决方案。假设一切顺利的话,您可能需要的安装命令是:
brew install ruby
brew cask install xquartz
xcode-select --install
brew install wine
第一次使用wine
的话,可能会有个比较长事件的初始化过程。请有个心理准备。
相关文章:
- https://newsn.net/say/mac-wine.html
- https://newsn.net/say/xcrun-error-invalid.html
- https://newsn.net/say/mac-wine-install-error.html
执行packager
命令
执行packager
的打包命令,这个地方可能会报错权限之类的问题,解决的方案就是sudo
。苏南大叔定义在package.json
中的打包命令是这样的:
electron-packager . $npm_package_productName --app-version=$npm_package_version --app-version=0.0.1 --out=builds --ignore='^/builds$' --platform=win32 --arch=ia32 --version-string.CompanyName='My Company Ltd' --version-string.LegalCopyright='Copyright (C) 2016 My Company Ltd' --version-string.FileDescription=$npm_package_productName --version-string.OriginalFilename='MyApp.exe' --version-string.InternalName=$npm_package_productName --version-string.ProductName=$npm_package_productName --version-string.ProductVersion=$npm_package_version --asar=true --overwrite
这个命令看起来很长,核心的就下面的这样。可选的参数就是--arch
,或者是ia32
或者是x64
。
electron-packager . --platform=win32 --arch=ia32
electron-packager . --platform=win32 --arch=x64
相关文章:
- https://newsn.net/say/electron-packager-basic.html
- https://newsn.net/say/electron-packager-control-version.html
- https://newsn.net/say/electron-packager-command.html
查看结果
不出意外的话,会在当前项目下的builds
目录中,看到类似electron-quick-start-win32-ia32
的文件夹。里面就是本次实验的结果了。在正统的windows下运行该exe
。成功!本次实验完美结束。
结论
mac
系统,借助wine
是可以打包exe
的。虽然不推荐这么操作,但是确实是可以成功的。如果您喜欢折腾,可以试试看。但是,据说在win
下面,是不可以打包mac
上的dmg
的。如果您不信,可以自行实验哦~
更多electron
的文章,请点击:
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。