結論から言うと、OS X の Homebrew-Cask が管理しているアプリのバージョン情報を最新化するときは、
$ brew update
するだけで OK です。
ただし、2015年12月以降に Homebrew-Cask がアプリのバージョン管理システムを刷新したらしいので、それ以前に Cask をインストールしていた場合は、一旦、
$ brew uninstall --force brew-cask; brew update $ brew tap caskroom/cask
を実行して、Homebrew-Cask を入れ直す必要があります。
経緯
OS X 版 PyCharm を Homebrew-Cask で管理しているのですが、そろそろ PyCharm 5 系にアップグレードしようとしたところ、
$ brew cask info pycharm pycharm: 4.5.4 PyCharm https://www.jetbrains.com/pycharm/ /opt/homebrew-cask/Caskroom/pycharm/4.5.4 (3484 files, 340M) https://github.com/caskroom/homebrew-cask/blob/master/Casks/pycharm.rb ==> Contents PyCharm.app (app) ・ ・
となっていて、アプリのバージョンリストから update しなきゃダメだなと思っていたら、どうやら、Homebrew-Cask で管理しているアプリたちは、
$ brew upgrade
ではリストが更新されないらしく、どうやら手順が面倒だということが判明。。
参考
- osx - Upgrade all the casks installed via Homebrew Cask - Stack Overflow
- brew caskのappどもをupgradeする - Qiita
どうしたものかといろいろ探していると、本家の GitHub に、2015年12月に新システムに移行したというアナウンスが。
GitHub - caskroom/homebrew-cask: A CLI workflow for the administration of Mac applications distributed as binaries
しかしながら、それ以前に Homebrew-Cask をインストールしていた場合は、
$ brew uninstall --force brew-cask; brew update $ brew tap caskroom/cask
を実行して、再インストールしておく必要があるとのこと。
実行
Homebrew-Cask を更新したので、早速、PyCharm を最新版の 5系にアップグレードしてみます。
$ brew cask info pycharm pycharm: 5.0.4 PyCharm https://www.jetbrains.com/pycharm/ Not installed https://github.com/caskroom/homebrew-cask/blob/master/Casks/pycharm.rb ==> Contents PyCharm.app (app)
$ brew cask install pycharm ==> Downloading https://download.jetbrains.com/python/pycharm-professional-5.0.4-jdk-bundled.dmg ######################################################################## 100.0% ==> Verifying checksum for Cask pycharm ==> Symlinking App 'PyCharm.app' to '/Applications/PyCharm.app' 🍺 pycharm staged at '/opt/homebrew-cask/Caskroom/pycharm/5.0.4' (4162 files, 520M)
無事、アップグレードできました。
(2016/8/30 追記)
Homebrew-Cask を使った場合のアプリのインストール先が変更になったようなので、以下のコマンドを実行して対応しました。
$ mv /opt/homebrew-cask/Caskroom /usr/local/ $ sudo rm -rf /Library/Caches/Homebrew ### 全てのアプリを再インストール $ brew cask install --force $(brew cask list)
途中、
Error: undefined method `latest?' for nil:NilClassMost likely, this means you have an outdated version of Homebrew-Cask. Please run:
brew uninstall --force brew-cask; brew untap phinze/cask; brew untap caskroom/cask; brew update; brew cleanup; brew cask cleanup
というエラーが出たのですが、特に問題はないようです。*1
ちなみに、
$ brew uninstall --force brew-cask; brew untap phinze/cask; brew untap caskroom/cask; brew update; brew cleanup; brew cask cleanup
を実行しても同じエラーが出ました。