このころmacの容量が足りなくなってきたので、とりあえず使っていないパッケージを削除していきます。
使用されていないパッケージを消す
1. homebrewでインストールされている物の総容量を測る
homebrewはデフォルトでは/usr/local/Cellar
(caskは/usr/local/Caskroom
)にインストールするので、ここの容量を測ります
# `-d1` で一つの階層のみ指定
# `-h` で読みやすい(Human readable)形式での表示を指定
$ du -d1 -h /usr/local | egrep 'Caskroom|Cellar'
770M /usr/local/Caskroom
11G /usr/local/Cellar
Cellar
がそれなりに容量食っていますね...
何か減らせるか試みてみます
2. 重いファイルを探す
Cellar
以下で、どのパッケージが重いのかを確かめます
# sort -n で数字の順にソート
$ du -d1 /usr/local/Cellar | sort -n
...
64 /usr/local/Cellar/pstree
64 /usr/local/Cellar/shellshare
72 /usr/local/Cellar/goto
88 /usr/local/Cellar/git-cal
96 /usr/local/Cellar/tldr
...
14096 /usr/local/Cellar/openldap
14288 /usr/local/Cellar/libarchive
14496 /usr/local/Cellar/termshare
14672 /usr/local/Cellar/msgpack
14688 /usr/local/Cellar/swig
15320 /usr/local/Cellar/eigen
15344 /usr/local/Cellar/shyaml
15456 /usr/local/Cellar/shellcheck
...
717552 /usr/local/Cellar/qt
860672 /usr/local/Cellar/mono
978408 /usr/local/Cellar/go
1131640 /usr/local/Cellar/boost
1196752 /usr/local/Cellar/gcc
1764448 /usr/local/Cellar/rust
3158152 /usr/local/Cellar/ghc
6920016 /usr/local/Cellar/llvm
24014992 /usr/local/Cellar
llvm
/ghc
/rust
/gcc
/boost
/go
あたりが特に大きいようですね。
基本的に使うものばかりなのですが、自分はrust
/go
を書かないのでこれはできればアンインストールしたいところです。
3. パッケージが他のhomebrewパッケージに依存__されているか__確認する
rust
/go
は自分で意識的にいれていないので、なんらかのパッケージが依存しているはずです。
brew uses <package>
で、<package>
を依存パッケージに指定しているパッケージのリストを表示できます。
(デフォルトではrequired
もしくはrecommended
として指定しているものを表示します)
<X_X>:~$ brew uses -h
Usage: brew uses [options] formula
Show formulae that specify formula as a dependency. When given multiple
formula arguments, show the intersection of formulae that use formula. By
default, uses shows all formulae that specify formula as a required or
recommended dependency for their stable builds.
--recursive Resolve more than one level of
dependencies.
--installed Only list formulae that are currently
installed.
--include-build Include all formulae that specify formula
as :build type dependency.
--include-test Include all formulae that specify formula
as :test type dependency.
--include-optional Include all formulae that specify formula
as :optional type dependency.
--skip-recommended Skip all formulae that specify formula as
:recommended type dependency.
--devel Show usage of formula by development
builds.
--HEAD Show usage of formula by HEAD builds.
-d, --debug Display any debugging information.
-h, --help Show this message.
今回は「インストール済みのパッケージに使われているか」が知りたいので--installed
を指定します。
$ brew uses --installed go
# 出力なし
$ brew uses --installed rust
cj-bc/sonic-pi-tool/sonic-pi-tool
どうやら、go
は依存されているパッケージはなし、rust
はsonic-pi
に使用されているようですね
sonic-pi
はrubyライブコーディング環境です。お試しで入れたのですが、ruby分からず使っていないので削除することにします。
$ brew uninstall sonic-pi-tool rust go
Uninstalling /usr/local/Cellar/sonic-pi-tool/HEAD... (4 files, 1.1MB)
Uninstalling /usr/local/Cellar/rust/1.36.0... (26,366 files, 784.7MB)
Uninstalling /usr/local/Cellar/go/1.12.7... (9,816 files, 452.7MB)
$ du -d1 -h /usr/local | grep Cellar
10G /usr/local/Cellar
約1GB減った!わ〜い!!
この調子で地道に減らしていき...結局2GBくらい減りました!!!
2GBなんてすぐ溶けるじゃねぇか!!!
$ du -h -d1 /usr/local/ | egrep 'Cellar'
9.0G /usr/local//Cellar
依存パッケージの確認について
homebrew
で管理されている(かつきちんと依存指定されている)ものについてはbrew uses
で確認できますが、そうでない場合もありそうです
実際の例として、dlib
はboost
に依存していると思うのですが表示されませんでした。
別の方法で入ってるのかもしれないし、homebrew
経由で入れるときはboost
いらないのかもしれません。
わからん!!
どなたか知っている方がいたらコメントなりで書いていただけると嬉しいです。
また、このほかにも「自分で書いたプログラムで使ってたわ」とかあると思うので、気をつけるようにしてください。
おまけ
homebrewのコマンド一覧はbrew commands
で表示できます。
$ brew commands