# 公式スクリプトでHomebrewをアンインストールする

> 公式 uninstall を --dry-run で確認し、formula/cask 一覧を残してから PATH の残骸と失敗パターンを片付けます

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

Homebrewには公式のアンインストールスクリプトがあり、説明どおりに動きます。注意すべきは範囲です。Homebrew本体だけでなく、Homebrew経由で入れたものもまとめて消える。この二つの重みは、いま何のためにここに来たかに左右されます。

ディスク容量だけが目的なら、消す前にHomebrewの実使用量を確認してください。特定のformulaだけが壊れているなら、環境ごと消す必要はありません。

先に進む前に、`brew leaves` と cask一覧を控えてください。次に公式アンインストーラを `--dry-run` で走らせ、出力を削除計画として読んでください。問題が一つのパッケージなら、ここで止めて `brew uninstall` を使うか、[より安全なHomebrewのクリーンアップ手順](https://mole.fit/ja/blog/how-to-clean-up-homebrew-mac)に従ってください。

## Homebrewをアンインストールすべきでないとき

次のいずれかに当てはまるなら、核オプションは避けます。

- 一つのformulaやcaskが壊れている：`brew uninstall <name>` を使い、依存が孤児になったら `brew autoremove`
- 容量だけが必要：`brew cleanup -s` は古い版とダウンロードを消し、プレフィックスは残す
- Homebrew由来の `git`、`node`、`python`、データベースサーバ、CLIツールがまだ要る。アンインストーラはCellarとCaskroomも連れていく
- 同じMacで明日また同じ構成を入れる予定。下の一覧を書き出し、`brew cleanup` で掃除してインストールは残す

アンインストールが向くのは、Homebrewを完全にやめるとき、壊れたインストールのあとにきれいなプレフィックスへ移るとき、もうそれらのパッケージが要らないマシンを消すときです。

## プレフィックスを把握する：Intel、Apple Silicon、Rosettaの残骸

Homebrewの既定プレフィックスはチップで決まります。

| Mac | 既定プレフィックス | `brew` バイナリ |
| --- | --- | --- |
| Apple Silicon | `/opt/homebrew` | `/opt/homebrew/bin/brew` |
| Intel | `/usr/local` | `/usr/local/bin/brew` |

何かを消す前に、実際に使っているものを確認します。

```
uname -m
brew --prefix
which brew
```

`arm64` はApple Silicon。`x86_64` はIntel（またはRosetta端末）。移行したApple Silicon Macでは、`/usr/local` 下の古いIntel Homebrewが `/opt/homebrew` と並存していることがあります。公式アンインストールスクリプトはマシンの既定を探し、`arm64` では `/usr/local` も見てIntel側の残骸を逃しません。二つのプレフィックスを意図的に残すなら、`--path` で消したい側を指定します。

Intelで `/usr/local` 全体を手で消さないでください。他ソフトと共有されています。Homebrew自身の木だけを対象にする公式スクリプトを使います。

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

Homebrewの[FAQ](https://docs.brew.sh/FAQ#how-do-i-uninstall-homebrew)は、Homebrew/installリポジトリのアンインストールスクリプトを指します。コマンドが変わった場合はそのページからコピーしてください。現行の一行は次のとおりです。

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

実行前にスクリプトを読みたい場合は、先にダウンロードします。

```
curl -O https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh
less uninstall.sh
/bin/bash uninstall.sh --help
```

便利なフラグ：

- `--dry-run`（`-n` も可）：削除予定だけを表示し、何も変えない。大事なマシンではここから始める
- `--path=PATH`：特定プレフィックスを消す（例：Apple Silicon上のRosetta時代 `/usr/local`）
- `--force`：確認プロンプトをスキップ（`NONINTERACTIVE` 設定時も暗黙に有効）
- `--skip-cache-and-logs`：キャッシュとログはそのまま

古いmxcl gistや、いまなお `cd $(brew --prefix)` して `git ls-files` で消す手順は無視してください。初期の `/usr/local` レイアウト向けで、現行インストールでは危険です。

## スクリプトが実際に消すもの

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

肝心なのは後者二つです。Cellarには各formulaのファイルがあり、Caskroomにはcaskメタデータがあります。Homebrewを消すとそれらも消え、経由で入れたCLIツールも同時に消えます。

あわせて `~/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>

## 消す前に手元の一覧を書き出す

アンインストール前に、次の二コマンドで一覧を書き出します。

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

`brew leaves` は、他のインストール済みformulaやcaskに依存されていないformulaを列挙します。有用な出発点ですが、明示インストールした全履歴ではありません。再構築に使う前に両方のファイルを確認してください。

パッケージのデータとパッケージ本体は分けて考えます。ホーム配下の設定は残ることがありますが、`/opt/homebrew/var` や `/usr/local/var` のPostgresデータベースはまだHomebrewプレフィックス内です。アンインストーラは `var` も消すので、そこにあるデータも一緒に消えることがあります。必要なデータはプレフィックス外へバックアップしてから。サービスを使っているなら先に止めます。

```
brew services list
brew services stop --all
```

## 任意：先にformulaとcaskを消す

一気に核削除する代わりに段階的に解体したいなら、`brew` がまだ動くうちにパッケージを消します。

```
brew list --formula
brew uninstall --force $(brew list --formula)
brew list --cask
brew uninstall --cask --force $(brew list --cask)
brew autoremove
brew cleanup -s
```

これでCellarとCaskroomは空になりますが、Homebrew本体は残ります。`var` 下のデータが不安なときや、パッケージ領域だけ空けて後で小さめのツール群用に `brew` を残したいときに使います。Homebrew自体をやめるときは、公式アンインストーラでプレフィックス、tap、キャッシュまできれいに消してください。

## アンインストールを実行する

1. `--dry-run` で実行し、すべてのパスを読む
2. `--dry-run` なしで実行し、聞かれたら `y`、保護ディレクトリで `sudo` が要ればmacOSパスワードを入れる
3. 「possible Homebrew files were not deleted」などの一覧が出たら、ウィンドウを閉じる前にコピーする

スクリプトをダウンロードしたあとのdry-run例：

```
/bin/bash uninstall.sh --dry-run
```

リモート一行コマンドを使う場合も、フラグを渡しやすいよう先にダウンロードしてから `/bin/bash uninstall.sh` を実行してください。

## 残留ファイルのチェックリスト

終了時、スクリプトは一部のHomebrewらしきファイルを削除できなかったと示し、自分で消してほしいと続け、その一覧を出すことがあります。

そのパスが名前付きで出るのは通常ここだけです。Homebrewが作っていないディレクトリの権限が原因であることが多く、一覧は短いです。すでに消えたインストールでもう一度走らせても再出力されないので、端末を閉じる前に控えてください。

典型的な残留は、いま消したプレフィックス配下にあります。

- Apple Silicon：`/opt/homebrew/etc`、`share`、`var`、`Frameworks` など、空または所有権が中途半端なディレクトリ
- Intel：`/usr/local` 下の同名。無関係な `/usr/local` ツリーを推測で消さない

スクリプトがパスを示し、Homebrew専用だと確認できたら明示的に消します（`-rf` のあとに空白）：

```
sudo rm -rf /opt/homebrew/share
```

その後確認：

```
ls /opt/homebrew
ls /usr/local/Homebrew
ls ~/Library/Caches/Homebrew
ls ~/Library/Logs/Homebrew
```

消えていれば “No such file or directory” が出る想定です。スクリプト完了後も `/opt/homebrew` やHomebrew専用ツリーが残るなら、そのパスへ `sudo rm -rf` するのが定石です。Returnを押す前にパスを再確認してください。

プレフィックス外の設定は意図的に残ることが多いです。`~/.gitconfig`、言語バージョンマネージャ、`~/Library` 下のアプリサポート、`var` から移したデータベースなど。Homebrewのプレフィックスではありません。帰属が分かるものだけ消してください。

## シェル設定がまだそれを指している

アンインストーラは `.zprofile`、`.zshrc`、`.zshenv`、`.zlogin`、`.bash_profile` を編集しません。Homebrewインストーラがよく足す行は次のような形です。

```
eval "$(/opt/homebrew/bin/brew shellenv)"
```

Intel Macでは既定PATHにすでに `/usr/local/bin` があり、この行が不要なインストールも多いです。Apple Siliconでは `brew` を見つけるために必要で、アンインストール後は新しいシェルが存在しないバイナリを毎回実行しようとします。

`brew shellenv`（と、もう要らない手書きの `/opt/homebrew/bin` や `/usr/local/bin` のPATHエクスポート）を探して削除します。

```
grep -n "brew shellenv\|/opt/homebrew\|/usr/local/bin" ~/.zprofile ~/.zshrc ~/.zshenv ~/.zlogin ~/.bash_profile ~/.bashrc 2>/dev/null
```

その後新しいターミナルタブを開きます。警告が消え、`which brew` が何も出なければPATH掃除は完了です。すぐ再インストールする予定があるときだけ行を残してください。

## よくある失敗パターン

**残留で Permission denied。** スクリプトはパスを出したが削除できなかった。名前付きの各パスに `sudo rm -rf` を使い、`-rf` とパスの間に空白を置く。`rm -rf/opt/...` はパスがフラグ扱いされ `illegal option` になる。

**途中まで / “Homebrew is already installed”。** 前回の試行で `.git`、`Cellar`、`bin/brew` が残った。正しい `--path` で公式スクリプトをもう一度走らせるか、スクリプトが示す残留プレフィックスを消し、まだ必要なら公式インストール手順で入れ直す。

**中途半端な掃除のあと `brew: command not found`。** アンインストールは終わったのにPATHが古いプレフィックスを指している（シェル行を直す）、または `brew` だけ消えてパッケージが残っている。古典的gistを追わない。プレフィックスディレクトリが残るなら公式スクリプトに `--path` を付ける。

**Apple Siliconで間違ったプレフィックス。** `/opt/homebrew` は消したが、Rosetta時代のツールが `/usr/local` に残っている。そのツリーがHomebrewのもので、無関係ソフトの混在でないと確認してから `--path=/usr/local` で実行する。

**サービスとログイン項目が消えたバイナリを呼び続ける。** 可能ならアンインストール前に `brew services` を止める。その後、ログイン項目と `/opt/homebrew` や `/usr/local/Cellar` を参照するLaunchAgentsを確認する。

**古いブログと2011年のgist。** `git ls-files` と `pbcopy` で消す手順は以前のHomebrewレイアウト向け。`https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh` だけを使う。

## より小さな操作で足りるか検討する

小さな掃除なら、`brew cleanup` で古い版とキャッシュ、`brew uninstall <formula>` で単体、`brew autoremove` で未使用依存を消します。[MoleのAnalyzeビュー](https://mole.fit/ja/mac-disk-analyzer)では、掃除前にHomebrewフォルダをスキャンし、あとでもう一度スキャンしてサイズを比較できます。Moleはこれらのコマンドによる変化を自動追跡しません。

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

新しいマシンにHomebrewを入れたら、次の二コマンドで元に戻せます。

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

caskには `--cask` が要るため分けます。混在リストは半分が失敗します。

`brew list` は依存も含むため、全部を再生すると依存まで明示インストール扱いになり、あとで `brew autoremove` が消せる範囲が変わります。`brew leaves` はその多くを避けますが、依頼インストール履歴そのものではありません。自分が選んだパッケージが別パッケージの依存でもあることがあります。再インストール前に一覧を見直し、必要なツールを足してください。

## よくある質問

### Homebrewをアンインストールすると、入れたパッケージは全部消えますか？

CellarとCaskroom内に残っているものは消えます。公式スクリプトはプレフィックスごと消すので、formulaとcaskメタデータも一緒です。プレフィックス外の設定やデータは残ることがあります。

### `/opt/homebrew` と `/usr/local` の違いは？

`/opt/homebrew` はApple Siliconの既定。`/usr/local` はIntelの既定で、移行したMacでは古いRosetta Homebrewが残っていることもあります。消す前に必ず `brew --prefix` を確認してください。

### アンインストールスクリプトの前に、すべてのformulaを消すべきですか？

段階的に掃除したい、または先に `var` のデータを見たいときだけです。スクリプトはプレフィックス内のインストール済みパッケージをすでに消します。あとで入れ直す可能性があるなら、どちらのやり方でも一覧を書き出してください。

### アンインストール後にディレクトリが残るのはなぜ？

権限や、Homebrewが作っていないディレクトリが削除を阻むことがあります。スクリプトはそのパスを一度だけ表示します。Homebrewの残留だと分かるときだけ `sudo` で消してください。

### `/usr/local` 全体を消しても安全ですか？

いいえ。Intel Macでは共有ディレクトリです。公式アンインストールスクリプトを使い、残ったものがあればスクリプトが名指ししたパスだけを消します。

### 新しい端末ごとに brew shellenv のエラーが出ます。どうする？

zshまたはbashの起動ファイルから `eval "$(...brew shellenv)"` の行を消し、新しいタブを開きます。アンインストーラはそれらのファイルを編集しません。

---

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
