3

我对臭名昭著的问题有疑问:

“/Users/n/Library/Developer/Xcode/DerivedData/Build/Intermediates/XCBuildData/build.db”:数据库被锁定可能有两个并发构建在同一个文件系统位置运行

如何修复损坏的“现代”构建系统被锁定的数据库卡住?

我试过了:

  • 清理项目
  • 删除派生数据
  • 更新 cocoapods (sudo gem...) 和 pod install
  • 从 App Store 重新安装完整的 Xcode 文件夹

现在我安装了全新的 Xcode,该项目适用于十几个构建(真实设备和模拟器)并且问题又回来了,使我无法处理项目。如何重置 build.db 上的锁或删除它?

我看到这个问题被问了多次,但答案并没有解决我的问题。我没有使用构建脚本,我只有几个 cocoapods。请不要关闭这个问题,因为我特别询问缺乏:

  • 没有自定义脚本
  • 没有控制台构建
  • 没有复合目标

唯一能让我继续工作的是转向遗留构建系统:

在此处输入图像描述

在此处输入图像描述

如何将旧版构建系统与 Xcode 10 的“xcodebuild”一起使用?

Xcode 10:无法附加数据库错误

4

5 回答 5

1

到目前为止,解决此问题的唯一方法是在“文件”>“工作区”设置中打开“旧版构建系统”。在计算机重新启动一定数量(或经过时间?)后,可以再次将设置更改为“新”构建系统,它将构建。

于 2019-03-05T10:46:26.140 回答
0

我在修改 cli 时遇到了这个问题,swift run democli. 我得到的错误是:

unable to attach DB: error: accessing build database "/Users/xman/Desktop/democli/.build/x86_64-apple-macosx/build.db": database is locked Possibly there are two concurrent builds running in the same filesystem location.

我只是删除了build.db,并且DB error消失了。

于 2021-01-25T08:09:30.887 回答
0

我在使用FastlaneNew Build System时遇到了同样的问题。

从 切换xcodebuild( )到后build_app( ),问题得到解决。

于 2021-05-05T07:41:28.260 回答
0

旧的构建解决方案太临时了。您只能在 XCode 中使用它。你不能在 VSCode 中使用它,所以你失去了 Hot Reload 的甜头。

于 2021-10-10T06:35:32.917 回答
0

我设法通过添加到xcodebuild命令行来编译我的项目:

OBJROOT="${OBJROOT}/DependentBuilds"

感谢这篇文章:https ://github.com/mattgallagher/CwlSignal/issues/24#issuecomment-396931001

于 2020-11-17T10:58:59.730 回答