I'm trying to build my electron app for windows on a mac, but I cannot get it to work due to the following errors:
``` • electron-builder version=20.27.1
• loaded configuration file=package.json ("build" field)
• writing effective config file=release/builder-effective-config.yaml
• rebuilding native production dependencies platform=win32 arch=x64
• packaging platform=win32 arch=x64 electron=2.0.7 appOutDir=release/win-unpacked
⨯ zip: not a valid zip file
github.com/develar/app-builder/pkg/electron.Unzip
/Users/develar/go/src/github.com/develar/app-builder/pkg/electron/unzip.go:47
github.com/develar/app-builder/pkg/electron.ConfigureUnpackCommand.func1
/Users/develar/go/src/github.com/develar/app-builder/pkg/electron/electronUnpack.go:45
github.com/develar/app-builder/vendor/github.com/alecthomas/kingpin.(actionMixin).applyActions
/Users/develar/go/src/github.com/develar/app-builder/vendor/github.com/alecthomas/kingpin/actions.go:28
github.com/develar/app-builder/vendor/github.com/alecthomas/kingpin.(Application).applyActions
/Users/develar/go/src/github.com/develar/app-builder/vendor/github.com/alecthomas/kingpin/app.go:557
github.com/develar/app-builder/vendor/github.com/alecthomas/kingpin.(Application).execute
/Users/develar/go/src/github.com/develar/app-builder/vendor/github.com/alecthomas/kingpin/app.go:390
github.com/develar/app-builder/vendor/github.com/alecthomas/kingpin.(Application).Parse
/Users/develar/go/src/github.com/develar/app-builder/vendor/github.com/alecthomas/kingpin/app.go:222
main.main
/Users/develar/go/src/github.com/develar/app-builder/main.go:72
runtime.main
/usr/local/Cellar/go/1.10.3/libexec/src/runtime/proc.go:198
runtime.goexit
/usr/local/Cellar/go/1.10.3/libexec/src/runtime/asm_amd64.s:2361
Error: /Projects/Webb/reverse-image-finder/node_modules/app-builder-bin/mac/app-builder exited with code 1
at ChildProcess.childProcess.once.code (/Projects/Webb/reverse-image-finder/node_modules/builder-util/src/util.ts:254:14)
at Object.onceWrapper (events.js:273:13)
at ChildProcess.emit (events.js:182:13)
at maybeClose (internal/child_process.js:962:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:249:5)
From previous event:
at unpack (/Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/out/electron/ElectronFramework.js:191:18)
at Object.prepareApplicationStageDirectory (/Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/electron/ElectronFramework.ts:148:50)
at /Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/platformPackager.ts:172:21
at Generator.next (
From previous event:
at WinPackager.doPack (/Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/platformPackager.ts:157:165)
at /Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/platformPackager.ts:112:16
at Generator.next (
From previous event:
at WinPackager.pack (/Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/platformPackager.ts:110:95)
at /Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/packager.ts:376:24
at Generator.next (
at xfs.stat (/Projects/Webb/reverse-image-finder/node_modules/fs-extra-p/node_modules/fs-extra/lib/mkdirs/mkdirs.js:56:16)
at /Projects/Webb/reverse-image-finder/node_modules/graceful-fs/polyfills.js:287:18
at FSReqWrap.oncomplete (fs.js:153:5)
From previous event:
at Packager.doBuild (/Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/packager.ts:344:39)
at /Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/packager.ts:314:57
at Generator.next (
at /Projects/Webb/reverse-image-finder/node_modules/graceful-fs/graceful-fs.js:99:16
at /Projects/Webb/reverse-image-finder/node_modules/graceful-fs/graceful-fs.js:43:10
at FSReqWrap.oncomplete (fs.js:139:20)
From previous event:
at Packager._build (/Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/packager.ts:285:133)
at /Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/packager.ts:281:23
at Generator.next (
at runCallback (timers.js:693:18)
at tryOnImmediate (timers.js:664:5)
at processImmediate (timers.js:646:5)
From previous event:
at Packager.build (/Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/packager.ts:238:14)
at build (/Projects/Webb/reverse-image-finder/node_modules/app-builder-lib/src/index.ts:58:28)
at build (/Projects/Webb/reverse-image-finder/node_modules/electron-builder/src/builder.ts:227:10)
at then (/Projects/Webb/reverse-image-finder/node_modules/electron-builder/src/cli/cli.ts:42:48)
```
Looks like electron-builder uses electron-download basically what happened is the zip got corrupted or download was interrupted. Instead of just redownloading, it throws this error.
TO FIX:
Remove zip file of the electron version that is failing.
(According to https://github.com/electron-userland/electron-download#cache-location)
Linux: $XDG_CACHE_HOME or ~/.cache/electron/
MacOS: ~/Library/Caches/electron/
Windows: $LOCALAPPDATA/electron/Cache or ~/AppData/Local/electron/Cache/
The file will be in the format "electron-v{version}-{platform}-{architecture}.zip"
In your specific case you want to go ~/Library/Caches/electron/ and remove the electron-v2.0.7-win32-x64.zip file
Then run electron-builder and it will download a new zip for that version since it no longer exists on your computer.
Most helpful comment
Looks like electron-builder uses electron-download basically what happened is the zip got corrupted or download was interrupted. Instead of just redownloading, it throws this error.
TO FIX:
Remove zip file of the electron version that is failing.
(According to https://github.com/electron-userland/electron-download#cache-location)
Linux: $XDG_CACHE_HOME or ~/.cache/electron/
MacOS: ~/Library/Caches/electron/
Windows: $LOCALAPPDATA/electron/Cache or ~/AppData/Local/electron/Cache/
The file will be in the format "electron-v{version}-{platform}-{architecture}.zip"
In your specific case you want to go ~/Library/Caches/electron/ and remove the electron-v2.0.7-win32-x64.zip file
Then run electron-builder and it will download a new zip for that version since it no longer exists on your computer.