Edited at

BrewfileとHomebrew-caskでmacのセットアップ

More than 5 years have passed since last update.


2014/07/31追記

しばらく使わない間に色々更新があったようです。


Brewfile がオワコン化していました。

$ brew bundle

Warning: brew bundle is unsupported and will be replaced with another,
incompatible version at some point.
Please feel free volunteer to support it in a tap.

カスタムタスクとして bundle を追加する方法はあるけども、ぶっちゃけ Brewfile の各行の先頭に brew つけたシェルスクリプトに置き換えればいいと思います。

(というか以前に brewfile の実装を読んだときは、各行の先頭に brew 付けて system で実行してるだけだったような)


tap なしでインストールできるようになっていました。

brew install caskroom/cask/brew-cask

これは多分 brew 側の機能追加によるものですかね。

結構ストックされていたので更新通知を送ってみました。どんな記事でも言えることではありますが、導入の際は公式ドキュメントを確認されることをオススメします。

↓↓↓以下は参考にならない部分もあるかと↓↓↓


homebrew-caskって?

macおなじみのdmgをマウントしてアプリアイコンをドラッグしてインストールするアレをbrew cask install dropboxとかってできるようにしちゃうもの。

caskは大樽のことらしい。dmgを大樽に見立ててるみたいですね。


Brewfileって?

homebrewのコマンドをずらずら書いておけるファイル。rubyのgemfileとかnodeのpackage.jsonなんかで依存パッケージを書いたことある人なら、あーあれねとなりそう。


ざっくりとした手順


  • xcodeをインストール

  • mavericksの場合はxcode-select —installとしてコマンドラインツールをインストール

  • homebrewをインストール。ワンライナーでいける

  • Brewfileを用意する

  • Brewfileのおかれたディレクトリでbrew bundleをたたく

  • Brewfileに書かれた通りアプリがインストールされる


Brewfileの例

update

upgrade

# homebrew-caskのインストール
tap caskroom/cask || true
install brew-cask

# 各種インストール
install rbenv ruby-build

cask install iterm2
cask install java
cask install google-chrome
cask install dropbox
cask install virtualbox
cask install vagrant
cask install kobito

tapでtrueとしてるのはこちらの記事を参照して下さい。


いい点・悪い点


いい点


  • homebrewで入れるものってどのみち結構あるので、こいつでdmgもまとめられるのは魅力。

  • 手軽。最初boxenを使ってみようかと思ってたけど、個人マシンの用途を考えると、これで十分だった。

  • まだやってないけどここをみる限りマイナーなdmgを対応させるのも難しくなさそう。


悪い点


  • mac app storeのやつは入れられないみたい。こればっかりはapp storeの購入済み開いてぽちぽち、かなぁ。


参考

BrewfileでHomebrewパッケージを管理する | SOTA

homebrew-caskが良さそうなので導入してみた - About Digital


2014/05/07 追記

homebrew-cask のリポジトリが変更になりました。Brewfile の更新と、リポジトリの変更が必要となります。上記の Brewfile は更新済みです。

リポジトリの変更については、ほとんどの人は下記のコマンドで問題ないハズです。私の環境では、下記を実行したら legacy tap の消去が行われ、正常にマイグレートされました。

brew update && brew upgrade brew-cask

何か問題が起きたら、下記ドキュメントの If Something Goes Wrong の章を見て、もろもろ試してみて下さい。

https://github.com/caskroom/homebrew-cask/blob/master/doc/TAP_MIGRATION.md