Edited at

homebrewで使われていないformulaを整理する


経緯

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