misonoteApp Center

Swift Package Manager のキャッシュは削除していい?

削除して大丈夫自動で作り直されます。Thermo はそのまま削除します。

場所

  • ~/Library/Caches/org.swift.swiftpm
  • ~/Library/org.swift.swiftpm/collections.json

これは何?

Swift Package Manager が依存パッケージを解決する際にクローンした Git リポジトリや、バイナリ配布のフレームワーク、マニフェストの解析結果などを保存するキャッシュです。コマンドラインの swift build だけでなく、Xcode のパッケージ解決でも使われます。

なぜ大きくなる?

依存パッケージのリポジトリが履歴ごと保存されるため、大きなパッケージに依存しているとそれだけで容量を使います。バイナリの XCFramework を配布しているパッケージを使っていると、バージョンごとにファイルが増えていきます。

削除しても大丈夫?

安全に削除できます。次にパッケージを解決したとき、必要なものが再ダウンロードされます。この項目にはパッケージコレクションの設定ファイルも含まれるため、自分でコレクションを追加している場合は削除後に登録し直す必要があります。swift package purge-cache でもキャッシュを削除できます。

ヒント

Xcode のプロジェクトごとのパッケージのチェックアウトは DerivedData 側にあります。Xcode で依存パッケージの不調が続くときは、あわせて DerivedData も削除すると解消することがあります。

まず容量を確認

du -sh "$HOME/Library/Caches/org.swift.swiftpm" "$HOME/Library/org.swift.swiftpm/collections.json" 2>/dev/null

ツール自身のコマンドで整理

swift package purge-cache

手動で削除

「ターミナル」で実行します。削除は元に戻せないので、パスを確認してから実行してください。

rm -rf "$HOME/Library/Caches/org.swift.swiftpm"/*
rm -rf "$HOME/Library/org.swift.swiftpm/collections.json"