使用电子生成器编译蚀刻器的问题

时间:2017-07-18 12:36:47

标签: electron cross-compiling electron-builder

我已经构建了一个Etcher分叉,但是我在生成一个可用的Windows构建时遇到了麻烦。

他们的文档提到make electron-installer-zipmake electron-installer-nsis作为制作目标;但是,提供的Makefile中不存在这些条目。

因此我恢复使用electron-builder,这对于生成Linux可执行文件/安装程序非常有用。

但是,我的fork主要用于在Windows上运行;

在解决各种依赖性问题之后,我使用以下命令成功构建了一个无法工作的Windows .exe

node_modules/.bin/electron-builder --platform win portable --arch ia32

但是,在运行etcher.exe文件时,我收到了臭名昭着的%1 is not a win32 application错误

更具体地说,我使用文件lzma-native模块node_modules\lzma-native\binding\lzma_native.node收到此错误。

在ubuntu 16.04上,运行file ....lzma_native.node声称这是一个32位的LSB共享对象。

通过Windows VM进行编译甚至更糟,但如果有必要,我可以访问Windows机器

感谢。

1 个答案:

答案 0 :(得分:0)

事实证明,Etcher目前不支持交叉编译(在Makefile的注释部分找到了这一重要信息)。我猜测Etcher正在操纵一些环境变量。

经过大量的反复试验,我在Windows 10下成功构建了分支。