Flutter1.22.6构建报Xcode concurrent builds错误求助
Flutter 1.22.6 iOS构建锁库报错修复方案
问题描述
固定使用Flutter 1.22.6版本开发已上架应用,仅做小幅功能迭代,不升级SDK版本,构建时先后抛出以下错误:
Xcode build failed due to concurrent builds
等待一段时间后继续抛出二级错误:
unable to attach DB: error: accessing build database database is locked Possibly there are two concurrent builds running in the same filesystem location.
已尝试关闭Xcode仅通过VS Code构建、执行flutter clean后重构建,均未解决问题。
修复步骤(全程无需升级Flutter版本)
- 终止所有残留构建进程
打开终端执行以下命令,彻底杀掉后台挂起的相关进程,避免隐形进程占用构建数据库锁:killall -9 Xcode killall -9 dart killall -9 flutter pkill -f xcodebuild - 全量清理构建缓存
仅执行flutter clean无法清理Xcode侧的锁文件,需依次执行以下命令完成全量清理:# 清理Flutter侧构建缓存 flutter clean # 进入iOS工程目录 cd ios # 删除Xcode全局派生数据缓存(锁文件基本都存放在这个目录) rm -rf ~/Library/Developer/Xcode/DerivedData # 删除本地Pods依赖缓存重新安装 rm -rf Pods Podfile.lock pod install # 退回项目根目录 cd .. - 关闭Xcode并行构建配置
打开iOS目录下的Runner.xcworkspace文件,调整Xcode构建设置:- 点击顶部菜单栏
File->Workspace Settings - 点击Build System区域的
Advanced按钮 - 取消并行构建勾选,或选择
Unique Build Directory作为构建产物存储位置 - 保存设置后完全关闭Xcode
- 点击顶部菜单栏
- 重新触发构建
回到VS Code手动触发构建即可,构建过程中不要同时开启多个终端跑构建指令,也不要同时在Xcode和VS Code两侧触发构建。
补充:如果后续偶发同类报错,检查VS Code是否开启了自动保存触发自动构建的配置,临时关闭自动构建、手动触发即可避免重复触发构建导致的锁冲突。
内容的提问来源于stack exchange,提问作者Ankit
相关产品推荐
相关产品推荐

