一、安装容器

1.下载镜像

docker pull electronuserland/builder

2.运行容器

docker run --rm -ti -v /data/app/:/project -w /project electronuserland/builder

/data/app/ 为代码工程要放入的宿主机目录

--rm 指定容器关闭时自动清除文件系统 (已删除该项)

-w 指定工作目录,容器启动后会直接进入该工作目录,也无需再 cd /project

二、编译打包

cd /project
yarn upgrade
yarn global add electron-builder
yarn electron:build

三、踩坑

1.downloading url=https://*******/electron-v11.4.7-linux-x64.zip 太慢或下载不下来

手动下载后把文件放到容器内 /root/.cache/electron/ 文件夹下即可

2. appimage-12.0.1.7z 下载不下来

手动下载后,带文件夹解压到容器内 /root/.cache/electron-builder/appimage/ 文件夹下

比如最后实际解压位置为 /root/.cache/electron-builder/appimage/appimage-12.0.1/

3.Application entry file "background.js" in the "/project/dist/linux-unpacked/resources/app.asar" does not exist. Seems like a wrong configuration.

别用 electron-builder -l 指令打包

使用

yarn electron:build

4.打包为AppImage后双击没反应

打开终端直接输入程序名运行可以看到如下提示

[29744:0523/081605.624820:FATAL:electron_main_delegate.cc(253)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
Trace/breakpoint trap(吐核)

意思是在root用户下运行必须增加 --no-sandbox 参数才行,加上即可正常运行。

如果加上--no-sandbox参数运行依然没反应,则把文件名改为英文即可

最后更新于 2023-07-15