経緯
homebrew を使っていると、必要のない formula がたまってきます。
brew upgrade
に時間がかかったり、ディスク容量を圧迫してくるので、不要なものを整理します。
依存してないformulaを絞る
brew uses
で、そのformulaを利用しているformula を表示できます[1]
bash
for package in $(brew list); do
echo [$package];
brew uses --installed $package
done
出力結果
[ansible]
[apr]
apr-util
[apr-util]
[aspell]
[autoconf]
automake node-build nodenv pyenv ruby-build
...
わかりやすくするために、依存がないformulaのみリストアップします
bash
for package in $(brew list); do
echo -n $package: $(brew uses --installed $package | wc -l) | grep " 0"
done
出力結果
ansible: 0
awscli: 0
bash: 0
cert: 0
composer: 0
ctags: 0
curl: 0
direnv: 0
fish: 0
gawk: 0
...
依存関係がないformulaのうち、不要なものをアンインストールします。
homebrew-mtree をつかって依存関係も一緒にアンインストールします。
bash
rmtree <不要なformula>
ついでに、複数のバージョンをインストールしているformulaのうち、最新のものを残して削除します。
(ディスク容量の節約ができます。)
brew cleanup
参考
[1] Homebrew の依存関係を表示する方法
[2] homebrew-mtree