electron-builder打包问题汇总

文章提供了打包应用时遇到的几个典型问题的解决方案,包括配置国内镜像加速下载,设置不同操作系统下的应用图标格式,为Linux的AppImage添加执行权限,处理加载库错误libatk-bridge-2.0.so.0,以及解决运行时的sandbox问题。此外,还介绍了如何通过调整package.json的build配置来减小打包后的体积,避免包含不必要的node_modules文件。

1.执行打包命令后会去github下载打包需要的文件,下载很慢问题:配置国内镜像 。
参考:https://blog.youkuaiyun.com/weixin_41715271/article/details/125053999

2.windows下配置的应用图标最好用ico后缀图片,linux使用256×256大小png图片,mac系统使用icns后缀图片。

3.linux无法执行打包的AppImage安装包文件:
添加可执行权限 chmod a+x *.AppImage

4.打开应用报错 while loading shared libraries:libatk-bridge-2.0.so.0
参考:https://blog.youkuaiyun.com/jnreul/article/details/109492548?app_version=5.13.0&csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22109492548%22%2C%22source%22%3A%22study_azhuo%22%7D&utm_source=app
5. 打开应用报错 Running as root without --no-sandbox is not supported
直接在. / 运行命令后面加 --no-sandbox 或者在desktop文件下exec属性后添加

6.打包后体积过大,打包进了node_modules文件,package.json build下配置

"directories": {
      "output": "build",
      "app": "./dist"
    },
将dist内存放需要打包的文件,打包后只会打包内部文件,里面要有package.json
/app/my-electron-app # npm run build > my-electron-app@1.0.0 build > electron-builder build --linux --windows • electron-builder version=26.0.12 os=6.6.87.2-microsoft-standard-WSL2 • loaded configuration file=/app/my-electron-app/electron-builder.json • description is missed in the package.json appPackageFile=/app/my-electron-app/package.json • writing effective config file=dist/builder-effective-config.yaml • executing @electron/rebuild electronVersion=39.0.0 arch=x64 buildFromSource=false appDir=./ • installing native dependencies arch=x64 • completed installing native dependencies • packaging platform=linux arch=x64 electron=39.0.0 appOutDir=dist/linux-unpacked • downloading url=https://github.com/electron/electron/releases/download/v39.0.0/electron-v39.0.0-linux-x64.zip size=113 MB parts=8 • downloaded url=https://github.com/electron/electron/releases/download/v39.0.0/electron-v39.0.0-linux-x64.zip duration=17.296s (node:99) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated. (Use `node --trace-deprecation ...` to show where the warning was created) • building target=AppImage arch=x64 file=dist/MyElectronApp-1.0.0.AppImage • executing @electron/rebuild electronVersion=39.0.0 arch=x64 buildFromSource=false appDir=./ • installing native dependencies arch=x64 • downloading url=https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z size=1.6 MB parts=1 • downloaded url=https://github.com/electron-userland/electron-builder-binaries/releases/download/appimage-12.0.1/appimage-12.0.1.7z duration=2.374s ⨯ cannot execute cause=fork/exec /app/my-electron-app/node_modules/7zip-bin/linux/x64/7za: no such file or directory command=/app/my-electron-app/node_modules/7zip-bin/linux/x64/7za x -bd /root/.cache/electron-builder/appimage/079040739.7z -o/root/.cache/electron-builder/appimage/079040739 workingDir=/root/.cache/electron-builder/appimage • completed installing native dependencies • packaging platform=win32 arch=x64 electron=39.0.0 appOutDir=dist/win-unpacked • downloading url=https://github.com/electron/electron/releases/download/v39.0.0/electron-v39.0.0-win32-x64.zip size=136 MB parts=8 • downloaded url=https://github.com/electron/electron/releases/download/v39.0.0/electron-v39.0.0-win32-x64.zip duration=16.746s • updating asar integrity executable resource executablePath=dist/win-unpacked/MyElectronApp.exe • downloading url=https://github.com/electron-userland/electron-builder-binaries/releases/download/winCodeSign-2.6.0/winCodeSign-2.6.0.7z size=5.6 MB parts=1 • downloaded url=https://github.com/electron-userland/electron-builder-binaries/releases/download/winCodeSign-2.6.0/winCodeSign-2.6.0.7z duration=2.491s ⨯ fork/exec /app/my-electron-app/node_modules/7zip-bin/linux/x64/7za: no such file or directory github.com/develar/app-builder/pkg/download.ConfigureArtifactCommand.func1 /Users/runner/work/app-builder/app-builder/pkg/download/artifactDownloader.go:29 github.com/alecthomas/kingpin.(*actionMixin).applyActions /Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/actions.go:28 github.com/alecthomas/kingpin.(*Application).applyActions /Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:557 github.com/alecthomas/kingpin.(*Application).execute /Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:390 github.com/alecthomas/kingpin.(*Application).Parse /Users/runner/go/pkg/mod/github.com/alecthomas/kingpin@v2.2.6+incompatible/app.go:222 main.main /Users/runner/work/app-builder/app-builder/main.go:90 runtime.main /Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/proc.go:267 runtime.goexit /Users/runner/hostedtoolcache/go/1.21.13/arm64/src/runtime/asm_amd64.s:1650 ⨯ /app/my-electron-app/node_modules/app-builder-bin/linux/x64/app-builder process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE Exit code: 1 failedTask=build stackTrace=Error: /app/my-electron-app/node_modules/app-builder-bin/linux/x64/app-builder process failed ERR_ELECTRON_BUILDER_CANNOT_EXECUTE Exit code: 1 at ChildProcess.<anonymous> (/app/my-electron-app/node_modules/builder-util/src/util.ts:259:14) at Object.onceWrapper (node:events:623:26) at ChildProcess.emit (node:events:508:28) at maybeClose (node:internal/child_process:1085:16) at Process.ChildProcess._handle.onexit (node:internal/child_process:304:5)
最新发布
11-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值