Homebrewを使っていると、時間が経つにつれてシステムに不要なパッケージが蓄積していくことがあります。
特に、他のパッケージの依存関係としてインストールされたものは、元のパッケージを削除しても自動的には消えません。
この記事では、そのような「孤立した依存パッケージ」がなぜ残るのか、そして安全に削除する方法を解説します。
なぜ依存パッケージが残るのか?

Homebrewでパッケージをインストールすると、そのパッケージが動作するために必要な依存パッケージも自動的にインストールされます。
例えば、画像処理ツールをインストールすると、画像ライブラリ(libpng, jpegなど)も一緒にインストールされます。
しかし、brew uninstall
やbrew remove
で元のパッケージを削除しても、依存パッケージは自動的には削除されません。これには理由があります:
- 他のパッケージも同じ依存関係を使っている可能性がある
- 将来再インストールするときのために残しておくという設計思想
- 削除による予期せぬ問題を防ぐための安全策
結果として、使われなくなった「孤立した」依存パッケージがシステムに残り続けることになります。
解決方法:不要な依存パッケージを削除する

Homebrewには、不要になった依存パッケージを自動的に検出して削除する便利なコマンドがあります:
brew autoremove
このコマンドは、どのパッケージからも参照されなくなった依存パッケージを自動的に特定し、削除します。
実行例:
$ brew autoremove
==> Autoremoving dependent formulae...
Removing: /opt/homebrew/Cellar/libpng/1.6.37... (146.5KB)
Removing: /opt/homebrew/Cellar/jpeg/9e... (269.8KB)
==> Autoremoving 2 unneeded formulae...
安心ポイント
- 自分で明示的にインストールしたパッケージ(
brew install
で直接インストールしたもの)は削除されません - 現在も他のパッケージから参照されている依存パッケージも削除されません
- 自動で検出されるため、どのパッケージが依存関係で不要かを自分で調べる必要がありません
古いバージョンも削除したい場合:cleanup

不要な依存パッケージに加えて、古いバージョンやキャッシュなども定期的に削除するには:
brew cleanup
このコマンドは以下を削除します:
- インストール済みパッケージの古いバージョン
- キャッシュされたダウンロードファイル
- 使われなくなったビルドファイル
brew autoremove
とbrew cleanup
を一緒に使うことで、Homebrewの環境をより効率的にクリーンアップできます:
brew autoremove && brew cleanup
実行前に何が削除されるか確認する方法
削除される前に何が対象になるのか確認したい場合は、--dry-run
オプションを使用します:
brew autoremove --dry-run
このコマンドでは、実際に削除される予定のパッケージの一覧だけが表示され、実際の削除は行われません。不安がある場合は、まずこのコマンドで確認してから実行するのが安全です。
同様に、クリーンアップの予定も確認できます:
brew cleanup --dry-run
よくある勘違い:uninstallだけでは不完全

多くのユーザーが勘違いしがちなのは、brew uninstall
やbrew remove
だけで依存パッケージもすべて削除されると思っていることです:
brew uninstall パッケージ名
この操作では、指定したパッケージだけが削除され、それに依存していたパッケージは残ります。
そのため、完全にクリーンアップするにはbrew autoremove
のようなコマンドが必要になります。
まとめ|Homebrewの依存パッケージ整理コマンド一覧
目的 | コマンド | 説明 |
---|---|---|
不要な依存パッケージの削除 | brew autoremove | どのパッケージからも参照されなくなった依存パッケージを削除 |
古いバージョンの削除 | brew cleanup | 古いバージョン、キャッシュ、ビルドファイルの削除 |
削除予定の確認 | brew autoremove --dry-run | 実際に削除される予定のパッケージを表示(削除は行わない) |
パッケージを個別に削除 | brew uninstall name | 指定したパッケージのみを削除(依存パッケージは残る) |
完全クリーンアップ | brew autoremove && brew cleanup | 不要な依存パッケージと古いファイルを一括削除 |
定期的にこれらのコマンドを実行することで、Homebrewの環境をクリーンに保ち、ディスク容量を節約することができます。
特に多くのパッケージをインストール・アンインストールを繰り返すような開発環境では効果的です。
コメント