Homebrew のパッケージの更新に昔は brew update
; brew upgrade
; brew cleanup
と 3 コマンドを使っていましたが、今は brew upgrade --cleanup
だけでよくなっています。
2019-09-15 追記
しばらく変化がないか、経過を待っていましたが、 結局 brew upgrade
だけで 30 日以上古いものが自動削除されるというのがデフォルトということで、 普通はその挙動に任せればよくなった、という状態で決定のようです。
つまり brew upgrade --cleanup
があった頃のようにすぐに古いものを消したければ brew upgrade
の後に brew cleanup
も実行する必要がある状態に戻ったようです。
自動削除を止めたければ HOMEBREW_NO_INSTALL_CLEANUP=1
で止めることもできます。
2018-01-18 追記
Homebrew 2.0.0 から brew cleanup
の自動実行がデフォルトになる予定らしく、 Homebrew 1.9.0 から
Warning: Calling 'brew upgrade --cleanup' is deprecated! Use 'HOMEBREW_INSTALL_CLEANUP' instead.
というメッセージが出るようになっているので、メッセージが不要なら代わりに
env HOMEBREW_INSTALL_CLEANUP=1 brew upgrade
と実行するとか、シェルの設定ファイルに
export HOMEBREW_INSTALL_CLEANUP=1
などと設定すると良いでしょう。
確認バージョン
- Homebrew 1.1.13
brew update
Debian 系で使われている apt
の sudo apt-get update
に相当するパッケージ情報を更新するサブコマンドです。 基本的には git
で更新しているだけなので、こけたら git
コマンドを直接使ってなおす必要がありそうです。
今は他のサブコマンドを実行した時に情報が古ければ自動で更新されるので不要になっています。
brew upgrade
パッケージを更新するサブコマンドです。
古いバージョンも残るので、 gem update
に近いような気がします。
brew cleanup
古いバージョンを消したり、ダウンロードしたファイルのキャッシュを消したりします。
brew upgrade --cleanup
のように upgrade
サブコマンドに --cleanup
オプションをつけると upgrade
中に削除してくれるようです。 (例えば 2 個更新があった時に、更新、削除、更新、削除になる。)
後から brew cleanup
するのと違って upgrade
中に削除してくれるので、何が削除されたのかの確認はしにくくなったり、問題が起きた時に戻しにくくなったりという欠点はありますが、一時的に空き容量が減るのが緩やかになったり、消し忘れがなくなるなどの利点があると思います。
まとめ
brew update
; brew upgrade
; brew cleanup
と 3 コマンドを連続で使っている人は、 brew upgrade --cleanup
だけに置き換えると便利です。