329

我的磁盘空间不足,并通过第三方实用程序检查 ~/Library/Developer/Xcode/DerivedData 目录占用了大约 22GB 的磁盘空间。

我搜索了stackoverflow并找到了这篇文章

如何安全地删除我的 ~/Library/Developer/Xcode/DerivedData 目录?

这个问题的公认答案表明我不应该从这个目录中触摸/删除文件夹。所以我所做的是

  • 找到我在 Appstore 上可用的应用程序的现有构建项目文件夹
  • 从派生目录中删除了文件夹
  • 推出 XCode 5
  • 打开那个项目
  • 清洁构建
  • 在模拟器上测试和编译
  • 重新存档
  • 一切正常。什么都没有损坏。

除非我错过了该帖子答案中的某些内容,否则我想通过询问有经验的开发人员来确保,如果我从 DerivedData 中删除所有文件夹,它不会在构建、测试和编译这些项目时对我造成伤害。

4

12 回答 12

406

DerivedData是的,您可以直接从子文件夹中删除所有文件(Not DerivedData Folder)

这不会影响您的项目工作。文件夹的内容DerivedData是在构建期间生成的,您可以根据需要删除它们。这不是问题。

DerivedData当您再次构建项目时,将重新创建 的内容。

Xcode8+ 更新

从从窗口选项卡中删除项目选项的 Xcode8 中,您仍然可以使用第一种方式:

Xcode -> Preferences -> location -> click on small arrow button as i explain in my first answer.

Xcode7.3 更新 要删除特定项目的 DeriveData,您只需执行以下步骤:

前往Window -> Project

在此处输入图像描述

您可以找到项目列表,您可以转到DerivedData文件夹,也可以直接删除单个项目的DerivedData

在此处输入图像描述


我不在 Xcode5 上工作,但在 4.6.3 中,您可以找到DerivedData下图中的文件夹:

在此处输入图像描述

点击首选项后..

在此处输入图像描述

你得到这个窗口

在此处输入图像描述

于 2013-09-21T13:51:46.340 回答
135

我经常清除derivedData,以至于我有一个别名。它可以解决构建问题。我在 /Users/Myusername/.bash_profile 中有以下内容

alias purgeallbuilds='rm -rf ~/Library/Developer/Xcode/DerivedData/*'

然后在终端中,我输入 purgeallbuilds,DerivedData 的所有子文件夹都会被删除。

于 2013-09-21T14:01:53.620 回答
43

XCODE 12 更新

在选项卡上:

  1. 点击 Xcode
  2. 喜好
  3. 位置 -> 派生数据

您可以访问所有派生数据并通过删除它们来清除它们。

于 2016-10-05T06:46:52.930 回答
34

XCODE 7.2 更新

(也适用于 7.1.1)

  1. 单击Window然后Projects然后删除Derived Data

像这样:

在此处输入图像描述

然后在这里删除它:

在此处输入图像描述


希望有帮助!

于 2015-11-16T13:05:23.223 回答
25
 $ du -h -d=1 ~/Library/Developer/Xcode/*

显示至少有两个文件夹很大:

 1.5G   /Users/horace/Library/Developer/Xcode/DerivedData
 9.4G   /Users/horace/Library/Developer/Xcode/iOS DeviceSupport

随意删除文件夹中的内容:

 rm -rf ~/Library/Developer/Xcode/DerivedData/*

还有一些在:

 open ~/Library/Developer/Xcode/iOS\ DeviceSupport/
于 2015-09-17T04:50:50.937 回答
18

刚刚用一个小脚本创建了一个 github repo,它创建了一个 RAM 磁盘。如果您将 DerivedData 文件夹指向/Volumes/ramdisk,则在弹出磁盘后所有文件都将消失。

它加快了编译速度,也消除了这个问题

xc-启动回购

最好使用DTerm启动

于 2013-12-31T19:01:53.563 回答
12

XCode 8:删除当前项目的派生数据:

点击产品菜单

按住选项键

单击清理构建文件夹

于 2017-01-28T12:15:33.667 回答
4

XCODE 10 更新

单击状态栏上的Xcode然后选择首选项

在弹出窗口中选择最后一段之前的位置

您可以使用右侧小图标访问派生数据文件夹

在此处输入图像描述

于 2018-09-18T11:05:49.280 回答
2

~/库/开发者/Xcode/DerivedData

于 2016-06-14T11:00:45.643 回答
1

是的,可以安全删除,我的脚本搜索并核对它找到的每个实例,轻松修改到本地目录

#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
IFS=$'\n\t'

for drive in Swap Media OSX_10.11.6/$HOME
do
   pushd /Volumes/${drive}  &> /dev/null
   gfind . -depth -name 'DerivedData'|xargs -I '{}' /bin/rm -fR '{}'
   popd &> /dev/null
done
于 2016-12-25T08:31:39.213 回答
-1

我会说它是安全的——我经常以这种方式删除许多 iOS 项目的文件夹内容。而且,我在构建或提交到 App Store 方面没有任何问题。该过程会删除 Xcode 5 和 6 的派生数据并清理项目的缓存资产。

有时,只需在派生数据目录上调用 rm -rf 就会留下一两个挥之不去的文件,但我的脚本会循环,直到所有文件都被删除。

于 2015-01-16T06:52:55.337 回答
-1

“派生数据”的内容是在构建时生成的。您可以安全地删除它。请按照以下步骤删除“派生数据”:

  1. 选择Xcode -> 首选项..

步骤1

  1. 这将打开弹出窗口。选择“位置”选项卡。在位置子选项卡中,您可以看到“派生数据”单击路径旁边的箭头图标。

第2步

  1. 这将打开包含“派生数据”的文件夹,右键单击并删除文件夹。

第 3 步

于 2015-02-10T14:00:30.357 回答