electron + vue /打包linux应用报错记录(长期施工中)

1,404 阅读2分钟

electron + vue 打包linux应用报错记录

打包时网络导致的

electron

截图录屏_20220315170936.png

他已经给出了地址github.com/electron/el… ,先去地址下载,然后copy在对应路径下的文件里

如果版本不同registry.npmmirror.com/binary.html… , 淘宝镜像的地址,去下载报错提示的对应版本

对应的目录

macOS: ~/Library/Caches/electron 
Linux: ~/.cache/electron 
windows: %LOCALAPPDATA%\electron\cache

electron-builder

4fbe6716dd9191c62cca55545f02e226.jpg

他已经给出了地址,这个地址我偷懒就不写了, 先去地址下载,然后copy在对应路径下的文件里

如果版本不同registry.npmmirror.com/binary.html… , 淘宝镜像的地址,去下载报错提示的对应版本

对应的目录

macOS: ~/Library/Caches/electron-builder 
Linux: ~/.cache/electron-builder
windows: %LOCALAPPDATA%\electron-builder\cache

icon图标导致的报错

  ⨯ unknown output format set
github.com/develar/app-builder/pkg/icons.convertSingleFile
	/Volumes/data/Documents/app-builder/pkg/icons/icon-converter.go:305
github.com/develar/app-builder/pkg/icons.doConvertIcon
	/Volumes/data/Documents/app-builder/pkg/icons/icon-converter.go:247
github.com/develar/app-builder/pkg/icons.ConvertIcon
	/Volumes/data/Documents/app-builder/pkg/icons/icon-converter.go:56
github.com/develar/app-builder/pkg/icons.ConfigureCommand.func1
	/Volumes/data/Documents/app-builder/pkg/icons/icon-converter.go:33
github.com/alecthomas/kingpin.(*actionMixin).applyActions
	/Volumes/data/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/actions.go:28
github.com/alecthomas/kingpin.(*Application).applyActions
	/Volumes/data/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:557
github.com/alecthomas/kingpin.(*Application).execute
	/Volumes/data/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:390
github.com/alecthomas/kingpin.(*Application).Parse
	/Volumes/data/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:222
main.main
	/Volumes/data/Documents/app-builder/main.go:90
runtime.main
	/usr/local/Cellar/go/1.14.5/libexec/src/runtime/proc.go:203
runtime.goexit
	/usr/local/Cellar/go/1.14.5/libexec/src/runtime/asm_amd64.s:1373  
  ⨯ Cannot cleanup: 
 
Error #1 --------------------------------------------------------------------------------
Error: /root/node/lib/node_modules/electron-builder/node_modules/app-builder-bin/linux/x64/app-builder exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
    at ChildProcess.<anonymous> (/root/node/lib/node_modules/electron-builder/node_modules/builder-util/src/util.ts:243:14)
    at Object.onceWrapper (events.js:422:26)
    at ChildProcess.emit (events.js:315:20)
    at maybeClose (internal/child_process.js:1048:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
 
Error #2 --------------------------------------------------------------------------------
Error: /root/node/lib/node_modules/electron-builder/node_modules/app-builder-bin/linux/x64/app-builder exited with code ERR_ELECTRON_BUILDER_CANNOT_EXECUTE
    at ChildProcess.<anonymous> (/root/node/lib/node_modules/electron-builder/node_modules/builder-util/src/util.ts:243:14)
    at Object.onceWrapper (events.js:422:26)
    at ChildProcess.emit (events.js:315:20)
    at maybeClose (internal/child_process.js:1048:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)  stackTrace=

win打包的应用图标,在vue.config.js这样设置就ok

win.png

但是在linux中这样打包必定爆上面的错误

在linux中必需

  • 先在background.js中创建窗口时引入一张图标 back.png
  • 然后再到vue.config.js

linux.png

这里十分奇怪为何引入的只是文件夹而不是文件,具体原因未知 参考的文章https://blog.csdn.net/chenqk_123/article/details/112962391


打包deb包产生的报错

mack.png

经过翻译软件翻译了下,需要设置Linux .deb包maintainer,或者可以在自定义Linux选项中设置maintainer 下面还贴心个给个地址www.electron.build/configurati…

  • 打开链接后阅读后发现这个地方

maintainer.png

再次翻译,maintainer是维护者/开发者(字段),其默认值是author(这个默认值其实就是在package.json的name)

  • 这里结合上面的东西,无非就是在自己在自定义Linux选项中设置maintainer,如图

main.png

打包,起飞成功了

1637722151(1).png


指令禁用linux的super(俗称的window)键

最后时找到统信的人,写了个禁用的脚本,哎前端真的难