electron打包分步 无法启动
- 先准备构建产物
在 client 目录先执行(必须):
npx tsc
npx vite build
2) 打 rpm 包
只打 x64:
npx electron-builder --linux rpm --x64
打 arm64:
npx electron-builder --linux rpm --arm64
两个都打:
npx electron-builder --linux rpm --x64 --arm64
清理空间(先做)
rm -rf /root/.cache/electron-builder/*
在项目里删旧产物:client/release、client/dist、client/dist-electron
把缓存和临时目录改到大盘(假设 /data 空间大)
mkdir -p /data/electron-cache /data/tmp
export ELECTRON_BUILDER_CACHE=/data/electron-cache
export TMPDIR=/data/tmp
分批打包(不要一次全打) 先只打一个最常用包验证:
cd client
npx electron-builder --linux deb --x64
成功后再打其他:
npx electron-builder --linux deb --arm64
npx electron-builder --linux AppImage --x64
npx electron-builder --linux AppImage --arm64 (rpm 也同理分开打)
每打完一项就清一次中间产物
删除 client/release 里不需要的内容再继续下一项,避免再次爆盘。
定位到了,原因很明确:你是用 root 启动 Electron,默认沙箱不允许。
报错这句就是关键:
Running as root without --no-sandbox is not supported
正确做法(推荐)
不要用 root 启动,换普通用户运行:
su - <普通用户名>
chat-client
或
/opt/aaa/chat-client
如果你“必须”用 root 启动(不推荐)
可以临时加参数:
/opt/aaa/chat-client --no-sandbox
但这会降低安全性,不建议作为长期方案。
本文来自博客园,作者:竹石2020,转载请注明原文链接:https://www.cnblogs.com/ch2020/p/19749508
浙公网安备 33010602011771号