akiyoko blog

akiyoko の IT技術系ブログです

Homebrew-Cask が管理しているアプリのバージョン情報を最新化するときは、brew update するだけで OK

f:id:akiyoko:20160310011842j:plain


結論から言うと、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 を入れ直す必要があります。

参考

github.com




 

経緯

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

ではリストが更新されないらしく、どうやら手順が面倒だということが判明。。

参考



どうしたものかといろいろ探していると、本家の 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

を実行しても同じエラーが出ました。