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

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

More than 1 year has passed since last update.

経緯

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

billthelizard
元アプリケーションエンジニアでしたが、 As Code 化の流れにのってインフラエンジニアに転身しました。AWS / IaC / Container 関連技術 をメインに記事を執筆しています。
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