Posted at

【Homebrew】brew cleanupがこける【Warning: Skipping XXX】


事の発端

先日、Homebrewでとあるパッケージを新規インストールした際、「30日以上brew cleanupしてないやんけ!」と怒られました。

「確かに2ヶ月くらいサボってるなぁ」と思い、brew cleanup コマンドを実行したんですよ。

そしたらなぜかできないんですよね。

$ brew cleanup

Warning: Skipping XXX: most recent version X.X.X not installed
<中略(20件くらい)>
Warning: Skipping XXX: most recent version X.X.X not installed

内容としては「XXXの最新バージョンがインスコされてません!!」って感じらしいです。


下調べ

色々情報を漁っていると、


  1. Homebrewのパッケージインストール先であるCeller 配下にある下位バージョンのパッケージを丸っと削除

  2. 対象のパッケージのリンクを解除してインストールし直す

という手法がありました。

しかし僕は以下の手順で解決しました。

(状況によっては解決しない場合もあります)


とりあえず解決策

「最新バージョン入れればいいのよね。」って事で以下を実行。

## パッケージ更新

$ brew update
$ brew upgrade

## 更新完了後

$ brew cleanup
Pruned 0 symbolic links and 21 directories from /usr/local

パッケージ更新後、brew cleanupは問題なく実行できましたが、想定してたログと違うんですよね。

削減された容量が表示されるはずなのに。。。


詳しく

どうやら30日以上brew cleanupしていないと、brew upgrade時に勝手にbrew cleanupされるようです。

なのでおそらくbrew upgradeの実行前後で容量に差があるはずなのですが、確認できず。。。w

他の方が遭遇された事象についても、意図的に古いバージョンを利用したい方以外は、おそらくこの手順で解決できると思ってます。

※できなかった場合はコメ欄にて情報提供お願いしますm(_ _)m


まとめ

みんな定期的にbrew upgrade(update)brew cleanupしましょう。


参考リンク