Mac開発者読了時間 6 分

MacのHomebrew、npm、pip、Gradle、CocoaPods、Dockerのキャッシュを削除する方法

パッケージマネージャと開発ツールの大きなキャッシュを、Homebrew、npm、Yarn、pnpm、pip、uv、Gradle、CocoaPods、Dart、Cargo、Dockerの公式コマンドで安全に整理します。

更新日 · spacerecoverチーム執筆

パッケージマネージャはダウンロードしたものをローカルにキャッシュし、多くは自動で整理しません。数年分のプロジェクトで数十GBになることも珍しくありません。ただし、ほとんどは必要なものを再ダウンロードできるため、安全に削除できます。

開始前に: 実行中のビルド、インストール、開発サーバーを停止してください。ツールが使用中のキャッシュを削除すると、わかりにくいエラーが起きることがあります。

容量を使っている場所を確認

次の読み取り専用コマンドで、一般的なキャッシュフォルダのサイズを確認できます。

du -sh ~/Library/Caches/Homebrew ~/.npm ~/Library/pnpm ~/Library/Caches/pip ~/Library/Caches/uv ~/.gradle/caches ~/Library/Caches/CocoaPods ~/.pub-cache ~/.cargo/registry 2>/dev/null

存在しないフォルダはスキップされます。

Homebrew

Homebrewはダウンロードしたbottleと古いformulaのバージョンを保持します。次で整理します。

brew cleanup

古いものだけでなく、ダウンロードキャッシュをすべて削除するには:

brew cleanup --prune=all

まずbrew cleanup -nを実行すると、削除せずに対象を確認できます。

npm、Yarn、pnpm

npm cache clean --force
yarn cache clean
pnpm store prune

npm cache verifyはすべてを消さずにキャッシュを確認・整理します。pnpm store pruneはどのプロジェクトからも参照されないパッケージを削除し、プロジェクト間で共有するpnpmストアにも安全です。

古いnode_modulesフォルダ

JavaScriptプロジェクトにはそれぞれnode_modulesがあり、多くは数百MBになります。プロジェクトのフォルダ内で、削除せずに一覧を確認するには:

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

現在作業していないプロジェクトのnode_modulesを削除します。npm installで復元できます。

Python:pipとuv

pip cache purge
uv cache clean

uv cache pruneは未使用の項目だけを削除する穏やかな選択肢です。古いプロジェクトの仮想環境(.venv)も大きくなることがあり、requirementsファイルから再生成できます。

Gradle

依存関係キャッシュは~/.gradle/cachesにあります。実行中のデーモンを停止してから削除します。

./gradlew --stop
rm -rf ~/.gradle/caches

次のビルドで依存関係を再ダウンロードします。Android Studioでは設定 > Languages & Frameworks > Android SDKで古いSDKプラットフォームとシステムイメージ、Device Managerで古いエミュレータも削除できます。

CocoaPods

pod cache clean --all

ダウンロード済みpodを削除します。プロジェクトのPodsフォルダとPodfile.lockには影響しません。

DartとFlutter

dart pub cache clean

グローバルに有効化したツールも含め、pubキャッシュのすべてを削除します。ツールは再度有効化する必要があります。プロジェクト内のflutter pub getでパッケージを再取得し、flutter cleanでビルド出力を削除できます。

Rust(Cargo)

作業していないプロジェクトでcargo cleanを実行すると、Rustで特に大きくなりやすいtargetフォルダを削除できます。~/.cargo/registryのレジストリキャッシュも削除でき、再ダウンロードされます。

Docker

Docker Desktopはイメージ、コンテナ、ボリューム、ビルドキャッシュを1つのディスクイメージに保存します。Finderでファイルを削除しても、この容量は縮みません。

  1. 使用容量を確認します。

    docker system df
    
  2. 停止中のコンテナ、未使用ネットワーク、参照されないイメージ、ビルドキャッシュを削除します。

    docker system prune
    

    -aを追加すると、コンテナが使っていないすべてのイメージも削除します。確信がない限り**--volumesを追加しないでください**。ボリュームにはローカルデータベースなどの永続データがあります。

  3. Docker Desktop > Settings > Resourcesで、ディスクイメージのサイズを確認し、上限を設定できます。

Xcode

DerivedData、アーカイブ、デバイスサポートファイル、シミュレータは、Xcodeストレージの整理で詳しく説明しています。

よくある質問

npmキャッシュを削除しても安全ですか?

はい。必要に応じてnpmがパッケージを再ダウンロードします。まず実行中のインストールを停止してください。プロジェクトとnode_modulesには影響しません。

docker system pruneはデータを削除しますか?

標準では停止中のコンテナ、未使用ネットワーク、参照されないイメージ、ビルドキャッシュを削除しますが、ボリュームは削除しません。データベースなどを持つボリュームは--volumesを追加した場合にのみ削除されます。

~/.gradle/cachesを削除できますか?

はい。Gradleデーモンを停止してから削除してください。次のビルドで依存関係を再ダウンロードするため、時間と通信量がかかります。

代わりに整理してほしいですか?

spacerecoverはHomebrew、npm、Gradle、CocoaPods、pip、uv、Swiftパッケージ、Dartのキャッシュ、Xcodeのビルド出力、Dockerのストレージを見つけ、何が再生成されるかを説明します。一括pruneコマンドは実行せず、コードフォルダ内のプロジェクトを保護します。

出典と参考情報

もっと詳しく