Electron示例运行报错exited with signal SIGSEGV问题求助
/home/jms08/jms08/Electroning/node_modules/electron/dist/electron exited with signal SIGSEGV
排查解决步骤
验证Electron二进制完整性
多数SIGSEGV错误是Electron预编译二进制包下载损坏导致的,按顺序执行以下操作重装依赖:- 卸载现有Electron:
npm uninstall electron - 清理npm缓存:
npm cache clean --force - 删除项目根目录下的
node_modules文件夹、package-lock.json或yarn.lock文件 - 重新安装依赖,国内用户可指定镜像源避免下载损坏:
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ npm install
- 卸载现有Electron:
检查系统依赖和架构兼容性
- 执行
uname -m确认系统架构,若为arm64/aarch64架构,建议将package.json中的Electron版本升级到20.x以上的LTS版本,低版本Electron对arm架构支持不完善 - 安装Electron必需的Linux系统依赖,Debian/Ubuntu系执行:
sudo apt install libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2
- 执行
排查沙箱兼容问题
Electron默认沙箱机制和部分旧版本Linux内核存在兼容问题,可临时修改启动命令测试:在package.json的scripts.start配置中添加--no-sandbox参数,示例:"start": "electron . --no-sandbox"。若修改后可正常启动,说明是沙箱兼容问题,可通过升级系统内核解决,生产环境不建议长期使用--no-sandbox参数。验证全局Electron运行状态
执行npm install -g electron全局安装Electron,再执行electron --version,若该命令也触发相同报错,说明是系统环境和当前Electron版本不兼容,可尝试更换Node.js版本(优先选择Electron官方对应的Node.js LTS版本),或切换Electron大版本测试。
内容的提问来源于stack exchange,提问作者StackMinsung0809
相关产品推荐
相关产品推荐

