Wakotech Blog

ポエム

homebrew-caskを使おうとしてやめたお話

homebrew-caskとは

Macユーザの皆さんはhomebrewでパッケージ管理をしている方も多いかと思います。
しかしよく使われるDropboxChromebrewでは提供されておらず、従来では.dmgファイルをWeb上からダウンロードしてきて展開しインストールするという手順をとっていました。
そのようなアプリケーションのインストールを開発環境導入と同様にコード化し、簡単にコマンドで再現できるようになるのが、homebrew-caskです。(boxenにも見られた動きですね。)

導入

homebrew(Homebrew — OS X用パッケージマネージャー)は入っているものとします。

$ brew tap phinze/homebrew-cask
$ brew install brew-cask
使い方

Chromeを導入する際にはこのようになります。

$ brew cask install google-chrome

これでchromeが/opt/homebrew-cask/Caskroom/google-chrome/latest/にダウンロードされ、~/Applicationsにシンボリックリンクが生成されます。

caskと併せてAlfredを使用する際の問題点と解決策

Alfredはシンボリックリンクを読みにいってくれないため、上記の/opt/homebrew-cask/Caskroom/をにある本体を見に行くように設定に追記するか、Alfred自体をcaskで導入している場合は以下のコマンドで設定を変更できます。

$ brew cask alfred link

なぜか私の手元ではほぼクリーンなMacにもかかわらず実行できなかったため、この時点でほぼ諦めてしましました。

不満点

linkがなぜかできない

上記の通り。設定ファイルも存在しているのにalfred linkが行えませんでした。うーん

Caskで導入できるSublimeTextのバージョンが2

3を使用しているため、最新バージョンが使えないのではあまり……という感じがしました。

AppStoreにあるものはそちらで管理したい

Alfredをはじめとして、AppStoreからインストールしたものはそちらの方が更新が通知されるので便利そうであるため。
特にこの理由からAlfredをAppStoreからインストールした場合Caskroom以下へのリンクは手動になりますし、中途半端にばらけるくらいならdmgでインストールしても同じかなあ、と。

結論

私はこのような理由からcask導入を断念しましたが、開発環境構築をコード化する必要度が高い場合はcaskを導入するべきかと思います。
特にvagrant等のように開発環境構築に必須級かつ、コマンドからのみしか呼ばないものならばあまり弊害がなく導入できるのではないでしょうか。(とはいえ、vagrantを使うのであればvagrant内の環境構築コードにいろいろ書けばいいため、結局vagrantだけ手動で入れればいい気も。)
結局boxenも管理コストに見合わないという形で流行が過ぎ去ったため、個人で使う分にはdmgからインストールしても管理できるので、caskを使うほどでもないかなあと感じました。
caskの今後によっては使うことになるかもしれませんが、まずはSublimeTextが3にならないと、パッケージ管理している意味があまり……という感じでした。