我已经构建了一个Etcher分叉,但是我在生成一个可用的Windows构建时遇到了麻烦。
他们的文档提到make electron-installer-zip
和make 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机器
感谢。
答案 0 :(得分:0)
事实证明,Etcher目前不支持交叉编译(在Makefile的注释部分找到了这一重要信息)。我猜测Etcher正在操纵一些环境变量。
经过大量的反复试验,我在Windows 10下成功构建了分支。