Help us understand the problem. What is going on with this article?

homebrewでインストールしたパッケージ全部削除する

使用していたMacBook Proを他の人に譲渡する必要があり、その際なるべくクリーンアップしてから譲渡したいものですが、アプリ関連/Applications以下の不要なアプリをアンインストールしても、まだ使用済み領域がだいぶ残っていたので、思い当たる領域をいくつか探していました。

その一つとして、Macを開発環境としても利用していたため、アプリ一覧には出てこないhomebrewでインストールしたパッケージ(Formula)などが残っているのを思い出しました。

そこで、思い切ってここも全部削除することにしました。

インストール済みパッケージの削除

brew installでインストールしたパッケージはuninstallremoveまたはrmのサブコマンドで削除できます。よく使われる系の単語でエイリアスされてて便利。

brew uninstall  <パッケージ名>

または

brew remove <パッケージ名>

<パッケージ名> は任意のパッケージ名を入れますが、ここは複数一括で指定可能です。

インストール済みパッケージを取得

上記で削除方法は分かりました。では何のパッケージがインストールされていたかを取得するにはlistサブコマンドを利用します。

brew list

これでインストール済みパッケージが一覧で表示されます。
listの結果は、単純にインストール済みパッケージ名のみが羅列されるのでこの結果をそのまま使用することができます。

adns            gh          libass          lzlib           python@2
aom         giflib          libassuan       lzo         python@3.7
apr         git         libbluray       mas         python@3.8
apr-util        git-flow        libev           mcrypt          python@3.9
argon2          git-lfs         libevent        mhash           rav1e
aspell          glib            libffi          mosh            readline
augeas          gmp         libgcrypt       mysql           rtmpdump
autoconf        gnupg           libgpg-error        ncurses         rubberband
aws-sam-cli     gnutls          libidn          nettle          sdl2
bdw-gc          go          libidn2         nghttp2         snappy
brotli          gobject-introspection   libksba         nginx           speex
...

ワンライナーで削除する

上記を組み合わせて、下記のコマンドで全パッケージを一括削除できます。

brew uninstall --force $(brew list)

--forceオプションを指定しているのは、1つのパッケージで複数バージョンを含む際に、パッケージに含まれる全バージョンを削除するためです。--forceまたは-fを付けず実行し、上記のケースに該当する場合はその旨の警告が出ます。

削除実行時の注意点

必ずインストール時のユーザーで

brewコマンドでインストールしたユーザーの権限で実行する必要があります。
他のユーザーで実行すると、権限の関係でエラーとなり、削除に失敗します。

homebrew含め全部削除する

実はこんなことしなくても公式アンインストーラーが用意されているので、それを利用するだけでも良かったりします。

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

一部パーミッションの関係や他のアプリケーションからのインストールなどで、素直に削除できないこともありますが、それらもすべてリストアップして教えてくれます。
それをみて一つ一つ確認して削除すれば綺麗にクリーンアップできます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away