跳到主要內容
Mole
概覽 功能 口碑 定價 常見問題 部落格
EnglishEN 简体中文中 繁體中文繁 日本語日 한국어한 FrançaisFR DeutschDE ItalianoIT EspañolES
立即購買購買 下載

    說明、文件、發佈紀錄與文章

    首頁/部落格

    清除開發者快取而不破壞建置

    開發者發布 2026年6月3日更新 2026年9月5日3 分鐘閱讀

    開發環境的空間分散在套件下載、建置輸出、SDK、本機資料庫和專案相依性樹中,部分可以重建,部分依賴鎖定檔、套件來源和工具鏈,還有一些是唯一的本機資料。點號目錄只說明它被隱藏,並不代表它是快取。

    查看各工具的全域儲存

    du -sh ~/.npm ~/.cargo ~/.cache/pip ~/Library/Caches/pip ~/.gradle 2>/dev/null | sort -h
    

    這些只是預設位置。盡量用工具查詢實際路徑,例如 npm config get cache、python -m pip cache dir 和 pnpm store path。

    • npm: 預設快取位於 ~/.npm。先執行 npm cache verify。npm 快取可以自我修復,npm cache clean --force 只適合明確的空間回收或疑難排解
    • Cargo: ~/.cargo 不只有快取,還可能包含已安裝的二進位檔、設定、套件紀錄與登錄憑證。目前 Cargo 會定期清理未使用快取,手動處理時也應落到具體子目錄,整體刪除會把這些非快取內容一起帶走。詳見 Cargo home
    • pip: 預設快取 wheel 和 HTTP 回應到 ~/Library/Caches/pip。python -m pip cache info 顯示實際位置與大小,python -m pip cache purge用於清空
    • pnpm、yarn: 可用 pnpm store prune 和 yarn cache clean處理未參照或快取套件。先確認版本,因為儲存配置和本機、全域行為會變化
    • Gradle、Maven: ~/.gradle 和 ~/.m2 可能很大。Gradle 已有定期快取清理,手動檢查前可以先停止守護行程,Maven 倉庫還可能含有本機建置或私有產物,整庫刪除會失去這些唯一副本

    清掉這些內容可能觸發大型下載、原生程式碼重新編譯,甚至讓已經從套件來源消失的歷史版本無法建置。稱它為可重建之前,先確認鎖定檔、套件來源和工具鏈仍然可用。

    找出散落的 node_modules

    真正佔空間的往往不是一個全域快取,而是多個舊專案各自的 node_modules。每個目錄常有 200 至 500 MB,累積起來很可觀。

    find ~/www ~/Projects -name node_modules -type d -prune -exec du -sh {} + 2>/dev/null
    

    把範例根目錄換成實際專案位置。-prune 避免繼續進入相依性樹,-exec 能正確處理路徑中的空格和特殊字元。

    專案能否重新安裝相依套件,取決於原始碼、鎖定檔、套件管理工具版本、套件來源的存取權和原生工具鏈是否齊全。保留這些必要檔案與工具後,使用與鎖定檔對應的指令,例如 npm ci。

    這些內容不能當快取刪

    專案原始碼、package.json 這類專案設定,以及 package-lock.json、Cargo.lock 等鎖定檔定義了建置,不是快取。全域共享儲存正在被安裝使用時也不能清理,否則可能損壞索引。先停止建置、安裝和相關守護行程。

    共享儲存和專案相依性樹不同

    pnpm 會在全域內容定址儲存中保留套件版本,再透過硬連結接入各專案的 node_modules,多個專案可以共享同一份磁碟內容。Cargo 和 Go 快取也常按版本或檢查碼儲存。

    傳統 npm 安裝則會在每個專案中產生相依性樹。因此,刪除一個專案的 node_modules 與清理全域共享儲存,影響範圍完全不同。內容定址能去重和驗證,卻不能保證未來仍能從套件來源下載同一版本。

    左側一個共享全域儲存透過硬連結連接到多個專案,右側同一個函式庫被複製進每個專案的 node_modules,形成重複。
    共享內容定址儲存和每個專案單獨產生的相依性樹,清理邊界不同。

    用地圖找目標,用套件管理工具清理

    Mole 的「分析」頁可以找出哪個專案或儲存最大,套件管理工具自己的 verify、prune 和 clean 指令則理解索引與參照。先用地圖選目標,再由所屬工具執行清理。

    安全的操作順序

    比較容易複核的順序是:停止建置和守護行程,測量選定目錄,驗證套件儲存,保留原始碼與鎖定檔,再處理相依性樹。文件中的 prune 或 clean 指令通常比刪除整個點號目錄更了解參照關係,清空垃圾桶前,也可以用一個重要專案的完整建置確認輸入仍然齊全。

    Mole 清理快取和 App 殘留檔案,不少使用者一次就清出了上百 GB。

    下載試用 Mole

    繼續閱讀

    • 開發者Mac 上用 brew cleanup 與 autoremove 清理 Homebrew2 分鐘閱讀
    • 開發者清理 Mac 上的 Docker 而不丟失資料3 分鐘閱讀
    • 開發者清理 Xcode 而不丟失發行產物2 分鐘閱讀

    Mole · 鼴

    清理 Mac,管理 App,查看運作狀態

    v1.14.0 · 發佈紀錄

    產品

    Mac 清理 App 解除安裝 Mac 最佳化 磁碟分析 系統監控

    支援

    說明 功能文件 發佈紀錄 部落格

    法律

    服務條款 隱私權政策 退款政策

    資源

    命令列工具 推廣聯盟

    聯絡

    Twitter hi@mole.fit

    Mole 唯一官網 mole.fit · 請勿下載來源不明的安裝檔

    命令列版會繼續免費開源。