このエントリーをはてなブックマークに追加

Homebrew cask の仕様がすこし変わった話

OS X 使いの皆さん定番の homebrew-cask ですが、おそらくクリスマス頃に仕様が少し変わったようです。

詳細のチケットは、こちらですが、要約すると、次のような感じになります。

  • 今まで ~/Applications へはすべてリンクだったが、移動するようになった
  • アプリケーションディレクトリは、すべて ~/Applications ではなく、/Applications になる
  • :target はしばらく動作するが、そのうち link に変更になる
  • Caskroom は、デフォルトで /opt/homebrew-cask/Caskroom となる
  • 上記のような理由で Caskroom 以下のバージョン番号のディレクトリは存在しなくなる

これはとても嬉しい変更です、例えば Google Chrome を homebrew-cask 経由でインストールした場合、今までだと 1Password が symlink のため動作しなかった問題があったので、これを根本的に解決できることになります。今までは、個人的にはまだ boxen を使っているので自動的に移動させるようなマニフェストを書いていましたが、これをしなくても済みます。

また、こちらのチケットにあるとおり、tap コマンドを使ったもののみに変更するようです。今までは、brew-cask というパッケージが必要でこれを更新するようになっていましたが、これから brew update コマンドのみで homebrew + homebrew-cask どちらもまとめて更新できるようになります。これはうれいしですね。

新しいシステムに切り替えるには、次のコマンドを実行するだけです。


$ brew uninstall --force brew-cask; brew update

簡単ですね、少し既存のもので試してみましたが、例えば google-chome をみると、次のようになっていますね。


$ brew cask info google-chrome
google-chrome: latest
Google Chrome
https://www.google.com/chrome/
/opt/boxen/homebrew-cask/Caskroom/google-chrome/latest (208 files, 184M)
https://github.com/caskroom/homebrew-cask/blob/master/Casks/google-chrome.rb
==> Contents
Google Chrome.app (app)
==> Caveats
The Mac App Store version of 1Password won't work with a Homebrew-Cask-linked Google Chrome. To bypass this limitation, you need to either:

+ Move Google Chrome to your /Applications directory (the app itself, not a symlink).
+ Install 1Password from outside the Mac App Store (licenses should transfer automatically, but you should contact AgileBits about it).

すべて同じようになっているのかなと思い、他のアプリでも確認してみましたが、なっていないようですね。


$ brew cask info flux
flux: 36-5
f.lux
https://justgetflux.com/
/opt/boxen/homebrew-cask/Caskroom/flux/36-5 (105 files, 2.7M)
https://github.com/caskroom/homebrew-cask/blob/master/Casks/flux.rb
==> Contents
Flux.app (app)

おそらく、順次変更しているのか、いつか内部的にまとめて切り替えるのかもしれません。

 

homebrew-cask を使っている人は、この機会に新しいアップデートに対応してみてはいかがでしょうか?