Electron-builder windows 上构建错误

8,299 阅读1分钟
github.com/develar/go-fs-util.CloseAndCheckError
        C:/Users/develar/go/pkg/mod/github.com/develar/go-fs-util@v0.0.0-20190620175131-69a2d4542206/fs.go:117
github.com/develar/app-builder/pkg/fs.ReadFile
        Y:/Documents/app-builder/pkg/fs/file.go:40
github.com/develar/app-builder/pkg/icons.validateImageSize
        Y:/Documents/app-builder/pkg/icons/icon-converter.go:122
github.com/develar/app-builder/pkg/icons.doConvertIcon
        Y:/Documents/app-builder/pkg/icons/icon-converter.go:180
github.com/develar/app-builder/pkg/icons.ConvertIcon
        Y:/Documents/app-builder/pkg/icons/icon-converter.go:56
github.com/develar/app-builder/pkg/icons.ConfigureCommand.func1
        Y:/Documents/app-builder/pkg/icons/icon-converter.go:33
github.com/alecthomas/kingpin.(*actionMixin).applyActions
        C:/Users/develar/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/actions.go:28
github.com/alecthomas/kingpin.(*Application).applyActions
        C:/Users/develar/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:557
github.com/alecthomas/kingpin.(*Application).execute
        C:/Users/develar/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:390
github.com/alecthomas/kingpin.(*Application).Parse
        C:/Users/develar/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:222
main.main
        Y:/Documents/app-builder/main.go:90
runtime.main
        c:/go/src/runtime/proc.go:203
runtime.goexit
        c:/go/src/runtime/asm_386.s:1337
  猕?D:\jupiter-electron-doc\node_modules\app-builder-bin\win\ia32\app-builder.exe exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE  stackTrace=
                                                                                                                                          Error: D:\jupiter-electron-doc\node_modules\app-builder-bin\win\ia32\app-builder.exe exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
                                                                                                                                              at ChildProcess.<anonymous> (D:\jupiter-electron-doc\node_modules\builder-util\src\util.ts:243:14)
                                                                                                                                              at Object.onceWrapper (events.js:418:26)
                                                                                                                                              at ChildProcess.emit (events.js:311:20)
                                                                                                                                              at maybeClose (internal/child_process.js:1021:16)
                                                                                                                                              at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
                                                                                                                                          From previous event:
                                                                                                                                              at processImmediate (internal/timers.js:456:21)
                                                                                                                                          From previous event:
                                                                                                                                              at WinPackager.signApp (D:\jupiter-electron-doc\node_modules\app-builder-lib\src\winPackager.ts:357:27)
                                                                                                                                              at WinPackager.doPack (D:\jupiter-electron-doc\node_modules\app-builder-lib\src\platformPackager.ts:244:16)
                                                                                                                                              at WinPackager.pack (D:\jupiter-electron-doc\node_modules\app-builder-lib\src\platformPackager.ts:115:5)
                                                                                                                                              at Packager.doBuild (D:\jupiter-electron-doc\node_modules\app-builder-lib\src\packager.ts:444:9)
                                                                                                                                              at executeFinally (D:\jupiter-electron-doc\node_modules\builder-util\src\promise.ts:12:14)
                                                                                                                                              at Packager._build (D:\jupiter-electron-doc\node_modules\app-builder-lib\src\packager.ts:373:31)
                                                                                                                                              at Packager.build (D:\jupiter-electron-doc\node_modules\app-builder-lib\src\packager.ts:337:12)

遇到这样的错误,注意有很多相似的特征,如果满足如下特征:

  • 有如下错误语句
github.com/develar/go-fs-util.CloseAndCheckError
  • 有如下错误栈
app-builder/pkg/icons/icon-converter.go:122

则肯定是 windows 上打包 icon 配置路径问题。

win
  icon: 'xxx/xx.ico'

icon 地址相对于当前根目录,比如:

- demo // 项目名
  - assets 
     icon.ico

则地址为:'assets/icon.ico'。

最好就是 .ico 的 256 的图标,可以去这里转换: convert.72wo.com/png-to-icns

然后打包就好了。