Electron Builder打包报错:EBUSY资源被占用或锁定
解决Electron Builder打包时EBUSY资源锁定错误
针对Angular 14 + Electron 21环境下,electron-builder打包时出现的EBUSY资源锁定问题(涉及@ampproject/remapping文件),可尝试以下解决方案:
1. 排除不必要的.map文件或禁用Source Map生成
调试用的.map文件常是打包冲突诱因,生产环境可直接排除:
- 修改angular.json:关闭构建时的Source Map生成
"architect": { "build": { "options": { "sourceMap": false } } } - 修改electron-builder配置(package.json/electron-builder.json):添加精准排除规则
"build": { "files": ["dist/**/*"], "exclude": [ "**/*.map", "node_modules/@ampproject/remapping/dist/*.map" ] }
2. 调整Electron Builder打包策略
- 开启asar打包:将应用资源归档为asar文件,减少文件系统操作冲突
"build": { "asar": true } - 更换输出目录:避免原release目录被未知进程占用,比如改为
./build-output"build": { "directories": { "output": "build-output" } }
3. 修复@ampproject/remapping依赖问题
- 切换依赖版本:尝试升级/降级到无打包冲突的版本,例如:
npm install @ampproject/remapping@2.2.0 --save - 清理重复依赖:执行命令整理冗余依赖,避免多版本冲突
npm dedupe
4. 系统层面排查
- 临时关闭杀毒软件/Windows实时保护:部分安全软件会实时扫描文件,导致打包时资源锁定
- 以管理员权限运行打包命令:右键命令行工具选择「以管理员身份运行」后再执行打包指令
- 检查文件占用:用Process Explorer工具搜索
remapping相关文件,结束占用该文件的进程
内容的提问来源于stack exchange,提问作者asd
相关产品推荐
相关产品推荐

