使用していたMacBook Proを他の人に譲渡する必要があり、その際なるべくクリーンアップしてから譲渡したいものですが、アプリ関連/Applications
以下の不要なアプリをアンインストールしても、まだ使用済み領域がだいぶ残っていたので、思い当たる領域をいくつか探していました。
その一つとして、Macを開発環境としても利用していたため、アプリ一覧には出てこないhomebrewでインストールしたパッケージ(Formula)などが残っているのを思い出しました。
そこで、思い切ってここも全部削除することにしました。
インストール済みパッケージの削除
brew install
でインストールしたパッケージはuninstall
、remove
または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)"
一部パーミッションの関係や他のアプリケーションからのインストールなどで、素直に削除できないこともありますが、それらもすべてリストアップして教えてくれます。
それをみて一つ一つ確認して削除すれば綺麗にクリーンアップできます。