electron + vue 打包linux应用报错记录
打包时网络导致的
electron
他已经给出了地址github.com/electron/el… ,先去地址下载,然后copy在对应路径下的文件里
如果版本不同registry.npmmirror.com/binary.html… , 淘宝镜像的地址,去下载报错提示的对应版本
对应的目录
macOS: ~/Library/Caches/electron
Linux: ~/.cache/electron
windows: %LOCALAPPDATA%\electron\cache
electron-builder
他已经给出了地址,这个地址我偷懒就不写了, 先去地址下载,然后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
但是在linux中这样打包必定爆上面的错误
在linux中必需
- 先在background.js中创建窗口时引入一张图标
- 然后再到vue.config.js中
这里十分奇怪为何引入的只是文件夹而不是文件,具体原因未知 参考的文章https://blog.csdn.net/chenqk_123/article/details/112962391
打包deb包产生的报错
经过翻译软件翻译了下,需要设置Linux .deb包maintainer,或者可以在自定义Linux选项中设置maintainer 下面还贴心个给个地址www.electron.build/configurati…
- 打开链接后阅读后发现这个地方
再次翻译,maintainer是维护者/开发者(字段),其默认值是author(这个默认值其实就是在package.json的name)
- 这里结合上面的东西,无非就是在自己在自定义Linux选项中设置maintainer,如图
打包,起飞成功了
指令禁用linux的super(俗称的window)键
最后时找到统信的人,写了个禁用的脚本,哎前端真的难