macOS 打包 Electron 应用

记录了用 electron-packager 打包的过程。

国内使用 npm 下载较慢,使用了淘宝镜像提供的 cnpm。

安装 electron

sudo cnpm install -g electron-prebuilt

安装 electron-packager

sudo cnpm install -g electron-packager

此时已可以用 electron-packager 命令打包 macOS 应用了。
如果要打包 windows 应用需要 wine 环境,使用 homebrew 来安装。

安装 homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装 wine

brew install wine

显示错误提示

wine: XQuartz is required to install this formula.X11Requirement unsatisfied!

You can install with Homebrew-Cask:
  brew cask install xquartz

You can download from:
  https://xquartz.macosforge.org
Error: An unsatisfied requirement failed this build.

根据提示前住下载缺失的组件 XQuartz,安装组件后重新安装 wine

brew install wine

electron-packager 第一次打包会下载对应平台文件,国内被墙,这里改为淘宝镜像,运行命令

export ELECTRON_MIRROR=https://npm.taobao.org/mirrors/electron/

现在,可以用 electron-packager 打包了。

electron-packager <sourcedir> <applicationName> --platform= <platform> win32,darwin --arch=all --electronVersion=1.7.6 --out=dist/ --overwrite --ignore=node_modules/electron-* --ignore=node_modules/.bin --ignore=.git --ignore=dist --prune

*#<sourcedir> : 项目的位置
*#<applicationName> : 应用名
*#--out <out> : 指定输出的目录
*#--electronVersion=<version> : 指定编译的 electron-prebuilt 版本,可以使用前面 prebuid 安装的版本,查看命令 electron -h 
#--platform=<platform> : 打包的系统(darwin、win32、linux)
#--arch=<arch> : 系统位数(ia32、x64)
#--icon=<icon> : 指定应用的图标(Mac 为 .icns 文件,Windows 为 .ico 或 .png)