Xcode 13.4.1构建React Native项目报错:无法附加DB(数据库锁定)
报错信息
error Failed to build iOS project. We ran "xcodebuild" command but it exited with error code 65. To debug build logs further, consider building your app with Xcode.app, by opening app.xcworkspace.
error: unable to attach DB: error: accessing build database "/Users/user/Library/Developer/Xcode/DerivedData/app-cdawdoxdzwfdgueqnyshuhonxndw/Build/Intermediates.noindex/XCBuildData/build.db": database is locked Possibly there are two concurrent builds running in the same filesystem location.
已尝试方法
- 清理构建缓存
- 重新安装CocoaPods
额外解决方案
1. 强制终止所有Xcode相关进程
打开终端执行以下命令,彻底关闭Xcode及关联后台进程:
killall Xcode killall xcodebuild killall XCBuildAgent killall XCBuildDaemon
完成后重新打开Xcode尝试构建。
2. 删除锁定的构建数据库文件
直接删除报错中指向的XCBuildData目录,清除锁定的数据库缓存:
rm -rf /Users/user/Library/Developer/Xcode/DerivedData/app-cdawdoxdzwfdgueqnyshuhonxndw/Build/Intermediates.noindex/XCBuildData/
注意替换命令中的路径为你本地实际的DerivedData路径。
3. 手动结束后台构建进程
打开「活动监视器」,搜索xcodebuild、XCBuild相关进程,确认是否有未正常结束的后台任务,找到后强制退出。
4. 修改DerivedData存储路径
更换构建缓存的存储位置,避免同一目录下的进程冲突:
- 打开Xcode,点击顶部菜单栏
Xcode > Preferences > Locations - 在
Derived Data选项中,点击路径箭头打开文件夹,将整个DerivedData目录移动到其他位置 - 或点击「Advanced」自定义新的存储路径,重启Xcode后重新构建
5. 关闭并行构建功能
并行构建可能引发数据库锁定,可临时关闭该选项:
- 打开项目的
app.xcworkspace - 选中项目Target,进入
Build Settings - 搜索
Parallelize Build,将其设置为NO - 重新执行构建操作
内容的提问来源于stack exchange,提问作者Muhammad Qasim Qadri

