一、安装容器
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参数运行依然没反应,则把文件名改为英文即可
Comments NOTHING