macOS 開發者快取清理:哪些能刪、哪些刪了就出事

每個建置工具都會留下快取。在一台常用機器上,它們加起來往往有數十 GB。讓清理變得安全的規則只有一條,而且值得在任何指令之前先講清楚:只刪工具能從零重建的東西。

這 13 類可以放心刪(不會丟資料)

類別路徑重建的代價
Xcode 編譯快取~/Library/Developer/Xcode/DerivedData下一次是全量編譯
Xcode 中間產物DerivedData/*/Build/Intermediates.noindex同上,但索引資料保留
SwiftPM 快取~/Library/Caches/org.swift.swiftpm重新解析相依項目
CocoaPods 快取~/Library/Caches/CocoaPods重新下載 Pod
npm 下載快取~/.npm/_cacache重新下載套件
pnpm 倉庫~/Library/pnpm/store每個專案、每個套件全部重下
Yarn 快取~/Library/Caches/Yarn重新下載套件
Go 建置快取~/Library/Caches/go-build所有套件重新編譯
Gradle 快取~/.gradle/caches重新下載相依項目與外掛
Python 位元碼任意 __pycache__下次 import 時重新編譯
Rust 建置產物任意 target/重新完整 cargo build
當機與卡死報告~/Library/Logs/DiagnosticReports沒有代價,它們只是診斷輸出
Homebrew 下載快取~/Library/Caches/Homebrew重新下載 formula

注意每一列的共同點:工具不需要問你任何事就能把它重新產生出來。這就是全部的判準。

看起來像快取、其實不是的東西

手動清理怎麼做

先量,再刪:

du -sh ~/Library/Developer/Xcode/DerivedData 2>/dev/null
du -sh ~/Library/Caches/go-build ~/.gradle/caches ~/.npm/_cacache 2>/dev/null

然後只刪你確實要騰出空間的那幾個:

rm -rf ~/Library/Developer/Xcode/DerivedData/*
rm -rf ~/Library/Caches/go-build/*

兩個沒人提醒、但一定會踩的坑:刪 DerivedData 之前先結束 Xcode(正在編譯會持續往裡寫);任何快取在對應工具執行期間都不要刪。

為什麼我們「先隔離,再刪除」

快取原則上可以隨便刪。真正會出事的,是那條規則在你的環境裡恰好不成立的情況:某個專案釘住了舊快取、某個工具把狀態也放在裡面、某個你以為不是封存的封存檔。

所以應用程式第一遍從不刪除。它先測量,把內容移進隔離區,然後開始 30 天倒數。這段時間裡一旦有東西壞了,一鍵還原。視窗過去之後才會真正刪除,而且永久刪除預設關閉,必須同時滿足六個條件——差一個就中止。

實際能清出多少

對一個經常使用的 iOS 專案,DerivedData 通常單項最大(5–50 GB)。Node 與 Rust 快取常在 1–10 GB;Gradle 和 Go 一般幾 GB。如果你的總計不到 1 GB,那清理並不是你的磁碟問題——儲存面板會告訴你真正佔空間的是什麼。

先看清空間去哪了。 DisplayPilot 的儲存面板依類別拆解磁碟佔用、指出這 13 類裡哪些值得清,並且一律先隔離 30 天再刪除。14 天試用功能完整,不需要註冊帳號。

下載 macOS 版

← 返回首頁