# パッケージ一覧を失わずに Homebrew を消す

> 公式スクリプトは Cellar と Caskroom ごと消すので、先に formula 一覧を書き出し、削除できなかったパスも控えておく

Published: 2026-08-04 | Updated: 2026-08-08

Homebrew には公式のアンインストーラがあり、その名のとおり動きます。驚くのは削除の範囲です。Homebrew 本体を消し、Homebrew が入れたものも消します。この二つは、今の目的によって意味がまったく違います。

ディスクの空きを増やしたいなら、多くの開発者の Mac ではいちばん効果の大きい手段になります。1 つの formula だけ直したいなら、必要以上の削除になります。

## 公式のアンインストーラー

```
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
```

実行する前に読んでください。スクリプトは短く、これから起きることのもっとも正確な説明です。記事がそれを超えることはありません。

`--dry-run` に対応しており、大事なマシンではまずこれを実行するのが正しい手順です。削除予定だけを表示し、何も変えません。

## スクリプトが実際に削除するもの

アンインストーラは Homebrew のプレフィックスと、その下のディレクトリを消します。`bin`、`etc`、`include`、`lib`、`opt`、`sbin`、`share`、`var`、`Frameworks`、そして `Cellar` と `Caskroom` の両方です。

要になるのは最後の二つです。Cellar には各 formula のファイルがあり、Caskroom には cask のメタデータがあります。Homebrew を消すとこれらも消えるので、Homebrew 経由で入れたコマンドラインツールは同時に消えます。

あわせて `~/Library/Caches/Homebrew` と `~/Library/Logs/Homebrew`、システムレベルの Homebrew キャッシュ、`/etc/paths.d/homebrew`、および `/Applications` と `~/Applications` にある Homebrew 管理のアプリも消します。

<figure class="blog-diagram">
  <img src="https://mole.fit/img/blog/homebrew-uninstall-scope.webp" width="1360" height="454" loading="lazy" alt="アンインストーラは Cellar と Caskroom を含む Homebrew プレフィックスに加え、キャッシュとログも削除する。一方、パッケージ自身が書いた設定とシェルプロファイルの行は残る。">
  <figcaption>スクリプトが消すのはパッケージマネージャだけでなく、入れたパッケージそのものです。残るのは、それらが書いた設定と、シェルプロファイルに足した行です。</figcaption>
</figure>

## 削除する前に、手元の一覧を控えておく

一覧はあとから復元できず、必要なのはコマンド 1 つです。

```
brew leaves > ~/Desktop/brew-formulae.txt
brew list --cask > ~/Desktop/brew-casks.txt
```

`brew leaves` は依存関係を含まず、自分で指定した formula だけを出します。再構築のときに欲しいのはまさにその一覧です。新しいマシンでは、この 2 ファイルがあれば、何を入れていたかを一日かけて思い出す必要がなく、`brew install` 1 行で済みます。

パッケージが自分のディレクトリ外に置いたファイルは消えず、残しておく価値があります。Postgres のデータディレクトリ、`/opt/homebrew/var` 配下のローカル DB、ホームディレクトリ内の設定などです。アンインストーラはプレフィックス下の `var` も消すので、そこに置いた DB は一緒に消えます。大事なら先に外へコピーしてください。

## 最後に出る、つい読み飛ばしてしまうメッセージ

スクリプト終了時に、削除できなかった可能性のある Homebrew ファイルがあり、自分で消してもよい、というメッセージと一覧が出ることがあります。

それらのパスが具体名で示されるのは、このメッセージだけです。Homebrew が作っていないディレクトリの権限が原因であることが多く、一覧は短いです。ターミナルを閉じる前にどこかへ控えてください。すでに消したインストールにアンインストーラを再実行しても、同じ一覧は出ません。

## シェルのプロファイルにはまだ記述が残る

アンインストーラは `.zprofile`、`.zshrc`、`.bash_profile` を編集しません。インストール時に足した `eval "$(/opt/homebrew/bin/brew shellenv)"` の行は残り、新しいシェルは毎回、もう存在しないバイナリを実行しようとします。

害はありませんが、エラーが出て煩わしいです。行を消すか、再インストールする予定なら残して構いません。

## より小さな操作で足りないか考えてみる

Homebrew を消したくなる理由の多くは、もっと狭い操作で済みます。`brew cleanup` は古いバージョンとキャッシュ済みダウンロードを回収します。`brew uninstall <formula>` は 1 つだけ消します。`brew autoremove` はもう誰も使わない依存を落とします。どれを走らせても、[Mole](https://mole.fit/) はプレフィックスの使用量を実行前後で表示します。その数字を見れば、そもそもフル削除が必要だったかが分かります。

## 書き出した一覧からの再構築

新しいマシンに Homebrew を入れたら、次の 2 つのコマンドで以前の環境を復元できます。

```
xargs brew install < brew-formulae.txt
xargs brew install --cask < brew-casks.txt
```

cask には `--cask` が必要なため、一覧は分けておきます。混ぜてしまうと、半分の項目で失敗します。

うまくいくのは `brew list` ではなく `brew leaves` を使うからです。`brew list` には依存パッケージも含まれるため、そのまま再実行すると本来は自動で入るはずのパッケージまで数百個も明示的にインストールしてしまいます。その結果、明示インストール扱いとなり、あとから `brew autoremove` しても削除されなくなります。一方、`brew leaves` は実際に自分で入れたものだけを返すので、依存関係の解決は Homebrew に任せられます。

---

Canonical HTML page: https://mole.fit/ja/blog/how-to-uninstall-homebrew-mac
Blog index for agents: https://mole.fit/ja/blog/llms.txt
Site index for agents: https://mole.fit/llms.txt
