要点
- brew cleanupは、デフォルトで、インストール済みformulaの古いバージョン、不要なロックファイル、120日より古いダウンロードを削除します。
- brew cleanup --prune=allは、古さに関係なくキャッシュされたダウンロードをすべて削除します。先にbrew cleanup -nでプレビューしましょう。
- brew autoremoveは、インストール済みのどのformulaにも必要とされなくなった依存関係をアンインストールします。
- Homebrewの場所は、Apple silicon搭載Macでは/opt/homebrew、Intel搭載Macでは/usr/localです。ダウンロードキャッシュは~/Library/Caches/Homebrewにあります。
- brew uninstall --zapは、caskアプリを設定やサポートファイルごと削除します。ほかのアプリと共有しているファイルが含まれる場合があります。
MacでHomebrewをクリーンアップする方法
- Homebrewの使用量を測る. ダウンロードキャッシュはdu -sh "$(brew --cache)"で、インストール済みのformulaはdu -sh "$(brew --cellar)"で確認します。
- クリーンアップの内容をプレビューする. brew cleanup -nを実行すると、何も削除せずに、削除される項目と解放される容量を一覧表示できます。
- クリーンアップを実行する. brew cleanupで古いバージョンと古いダウンロードを削除します。ダウンロードキャッシュを完全に空にするならbrew cleanup --prune=allを実行します。
- 不要になった依存関係を削除する. brew autoremove -nでプレビューしてから、brew autoremoveで、ほかのどのformulaにも必要とされない依存関係をアンインストールします。
- 使わなくなったものをアンインストールする. brew leaves --installed-on-requestで自分でインストールしたものを確認し、不要になったものをbrew uninstallで削除します。
- 問題がないか確認する. brew doctorを実行して、クリーンアップ後もインストール環境が正常であることを確認します。
Homebrewは、アップグレードしたものの古いバージョンと、ダウンロードしたもののキャッシュを残すため、少しずつ大きくなっていきます。brew cleanupは古いバージョンと120日より古いダウンロードを削除し、brew cleanup --prune=allはダウンロードキャッシュを完全に空にし、brew autoremoveはもう何にも必要とされていない依存関係をアンインストールします。3つとも公式のコマンドで、使っているものの現在のバージョンには一切手を触れません。
以下のコマンドとデフォルト値は、2026年10月時点(Homebrew 7)のHomebrewマニュアルに基づいています。
Homebrewがファイルを保存する場所
| 内容 | Apple silicon | Intel |
|---|---|---|
プレフィックス(brew --prefix) |
/opt/homebrew |
/usr/local |
インストール済みのformula(brew --cellar) |
/opt/homebrew/Cellar |
/usr/local/Cellar |
cask(brew --caskroom) |
/opt/homebrew/Caskroom |
/usr/local/Caskroom |
ダウンロードキャッシュ(brew --cache) |
~/Library/Caches/Homebrew |
~/Library/Caches/Homebrew |
macOS 27 Golden GateはApple silicon搭載Macでしか動作しないため、新規インストールでは/opt/homebrewが使われます。macOS 26 Tahoe以前にとどまるIntel搭載Macでは、引き続き/usr/localが使われます。Intel搭載Macから移行したMacには両方が存在することもあります。どちらが有効かはbrew --prefixで確認できます。
caskのアプリ自体は、ほかのアプリと同じく/Applicationsにインストールされます。
整理する前に測る
du -sh "$(brew --cache)"
du -sh "$(brew --cellar)"
du -sh "$(brew --cellar)"/* | sort -h | tail -20
最初の2行で、ダウンロードキャッシュと、インストール済みのすべてのformulaのサイズがわかります。3行目は、サイズの大きいformulaの上位20件を表示します。Cellar内の各フォルダには、インストールされているバージョンごとにサブフォルダがあるため、brew list --versionsを使えば、複数のバージョンが残っているformulaがわかります。
brew cleanup:削除するものと残すもの
brew cleanup -n
brew cleanup
brew cleanup -n(または--dry-run)は、削除されるファイルをすべて一覧表示し、最後に解放される容量の見積もりを表示します。何も削除されません。そのうえで、オプションなしのbrew cleanupは次の処理を行います:
- インストール済みformulaの古いバージョンを削除し、現在のバージョンは残します。
- formulaとcaskの不要なロックファイルと古くなったダウンロードを削除します。
- 120日より古いダウンロードをすべて削除します。この日数は
HOMEBREW_CLEANUP_MAX_AGE_DAYSで変更できます。
HOMEBREW_NO_AUTOREMOVEを設定していない限り、デフォルトではbrew autoremoveと同じく、不要になった依存関係も削除します。
特定のformulaやcaskだけをクリーンアップするには、名前を指定します:brew cleanup node。
–pruneでさらに整理する
brew cleanup --prune=all
--pruneには日数を指定し、それより古いキャッシュファイルをすべて削除します。--prune=allなら、古さに関係なく削除します。-s(--scrub)は最新バージョンのダウンロードも削除しますが、現在インストールされているformulaとcaskのダウンロードは残します。Homebrew自身のヘルプによれば、rm -rf "$(brew --cache)"ならそれらも削除されます。キャッシュに入っているのはダウンロードしたファイルだけなので、どの方法でも安全です。必要なものはHomebrewが再ダウンロードします。
これらの削除はすべて完全な削除で、ゴミ箱には入りません。
自動クリーンアップ
Homebrewは、ある程度は自分で後片付けをしています。brew install、brew upgrade、brew reinstallのあとには対象のformulaについて、また30日ごと(HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS)にはすべてについて、クリーンアップを実行します。シェルのプロファイルでHOMEBREW_NO_INSTALL_CLEANUPを設定していると、これが一切行われません。Cellarが古いバージョンでいっぱいになっているのはそのためかもしれません。この変数を削除するか、ときどき自分でbrew cleanupを実行してください。特定のformulaを保護したい場合は、HOMEBREW_NO_CLEANUP_FORMULAEに列挙します。
もう何にも必要とされていない依存関係を削除する
formulaをアンインストールしても、それと一緒に入ったライブラリが残ることがあります。
brew autoremove -n
brew autoremove
brew autoremoveは、依存関係としてだけインストールされ、もう何にも必要とされていないformulaをアンインストールします。-nを付けると、先に一覧を確認できます。
使わなくなったものをアンインストールする
brew leaves --installed-on-request
brew uninstall <formula>
brew leavesは、ほかの何からも依存されていないformulaを一覧表示し、--installed-on-request(-r)を付けると、自分でインストールしたものだけに絞り込めます。多くの場合、これが確認すべき最も短いリストです。formulaをアンインストールするとCellarから完全に削除され、再インストールすると再びダウンロードされます。
caskと–zap
brew uninstall --cask <cask>
brew uninstall --zap <cask>
通常のアンインストールではアプリが削除されます。--zapを付けると、caskの定義でそのアプリのものとされているファイル(~/Library内の環境設定、キャッシュ、サポートフォルダなど)も削除されます。Homebrewのマニュアルは、これがアプリ間で共有されているファイルを削除する場合があると警告しているので、設定ごと確実に消したいアプリにだけ使ってください。Homebrewでインストールしていないアプリについては、Macのアプリを完全にアンインストールする方法をご覧ください。
アンインストールする前に、依存しているものを確認する
brew uses --installed <formula>
これから削除しようとしているformulaを必要とする、インストール済みのformulaとcaskを一覧表示します。一覧が空でなければ、--ignore-dependenciesを付けない限りHomebrewはアンインストールを拒否します。このオプションを付けると、それらのパッケージが動かなくなることがあります。共有ライブラリには手を付けず、何にも必要とされなくなった時点でbrew autoremoveに回収させるのが通常はよいでしょう。
クリーンアップ後もHomebrewが大きいままの理由
クリーンアップで削除されるのは残りかすであって、使っているパッケージではありません。ツールチェーン、コンパイラ、大きなフレームワークは本来サイズが大きく、それぞれが何十もの依存関係を引き込むことがあります。それでもCellarが大きい場合は、前述の3つ目のduコマンドで、どのformulaが大半を占めているかがわかります。不要になったものをアンインストールし、brew autoremoveを実行すれば、その依存関係も一緒に削除されます。
結果を確認する
brew doctor
brew doctorはインストール環境に潜在的な問題がないかをチェックし、見つかった場合はエラーで終了します。警告の多くは参考情報ですが、クリーンアップのあとや新しいMacへの移行後の最後の確認として役立ちます。
MoreRoomでできること
MoreRoomの無料版は、HomebrewのダウンロードキャッシュとCellarを認識してサイズを表示します。ダウンロードキャッシュには「安全に削除可能」、Cellarには「先に確認」のラベルが付きます。どちらかを整理すると、MoreRoomはHomebrew純正のbrew cleanup --prune=allを実行します。古いバージョンとキャッシュされたダウンロードは削除されますが、使っているパッケージが削除されることはありません。このコマンドは元に戻せないため、その旨が表示されます。MoreRoomがformulaやcaskをアンインストールすることはないので、それにはbrew uninstallを使ってください。
Proでは、複数の項目をまとめて整理できるコレクターと、必要な容量に対して最も安全な組み合わせを選ぶ目標モードが使えます。
よくある質問
brew cleanupは安全ですか?
はい。削除されるのは、新しいバージョンがインストールされているformulaの古いバージョン、不要なロックファイル、キャッシュされた古いダウンロードだけです。インストールしたものの現在のバージョンはすべてそのまま残り、問題なく動作します。
Homebrewは自動でクリーンアップしますか?
部分的にはします。brew install、upgrade、reinstallのあとに、対象のformulaをクリーンアップし、30日ごとに全体のクリーンアップを実行します。HOMEBREW_NO_INSTALL_CLEANUPを設定すると、この動作はオフになります。
~/Library/Caches/Homebrewは削除できますか?
はい。中身はダウンロードしたファイルだけで、必要になればHomebrewが再取得します。きれいに整理するならbrew cleanup --prune=allを使います。Homebrew自身のヘルプでは、インストール済みパッケージのダウンロードまで削除する方法としてrm -rf "$(brew --cache)"が紹介されています。
brew autoremoveとbrew cleanupの違いは何ですか?
brew cleanupは、まだ使っているものの古いバージョンとキャッシュされたダウンロードを削除します。brew autoremoveは、依存関係としてだけインストールされ、もう何にも必要とされていないformulaを丸ごとアンインストールします。
HomebrewはMacのどこにインストールされていますか?
Apple silicon搭載Macでは/opt/homebrew、Intel搭載Macでは/usr/localです。brew --prefixを実行すると、お使いのMacでの場所を確認できます。