Boxenを削除してhomebrew-caskを使ってみた
Boxen を使い続けて半年近く経ちましたが、当初の目的であるアプリケーションの設定完全自動化には至らず、一部のアプリケーションはインストール自動化のみにとどまっています。自分の未熟さゆえmanifest書くのむずかしい…精進します。
自由に使えるMacもう1,2台ほしいな買ってくれないかな!
ある日、アプリケーションのインストール自動化であればBoxenに限らず Homebrew-cask を使うのもいいよねと思い、homebrew-caskを試してみることにしました。
まあこの作業で環境がぶち壊れたとしてもちゃんとBoxenのmanifestが書いてあるなら取り返しつくし、いける!(死亡フラグ)
Homebrew-caskとは
Homebrew-cask は HomebrewのコマンドでGoogleクロームやAdiumをインストール、アンインストールなど管理するものです。 cask は大樽のことですね。 自家製生酒造の大樽 というなかなかいいネーミングじゃないでしょうか。
さっそく使ってみましょう。
Boxenのアンインストール
すでにいろいろなアプリケーションをBoxenでインストールしてしまっているため、 いろいろクリアにするためBoxenをアンインストールします。
~/src/our-boxen/script/nuke --all --force
削除するためのスクリプト名が nuke というのがなんともロックです。
これでBoxenがアンインストールされました。併せてBoxenでインストールしたアプリケーションもアンインストールしておきましょう。
Homebrew-caskのインストール
さきほどBoxenをアンインストールしたのでHomebrewも削除されました。 Homebrew公式サイト を見ながら改めてインストールします。 インストールが終わったらPATHなどの設定をして、brewコマンドが動作するようにしておきます。
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Homebrew-caskのインストールは phinze/homebrew-cask をtapして brew-cask をインストールするだけです。
brew tap phinze/homebrew-cask
brew install brew-cask
これで brew cask
コマンドが使えるようになりました。
brew cask
{{ brew-cask }}
brew-cask provides a friendly homebrew-style CLI workflow for the
administration of Mac applications distributed as binaries
available commands:
- uninstall: uninstalls the cask of the given name
- audit: verifies installability of casks
- search: searches all known casks
- cleanup: cleans up cached downloads
- info: displays information about the cask of the given name
- install: installs the cask of the given name
- list: with no args, lists installed casks; given installed casks, lists installed files
- checklinks: checks for bad cask links
- create: creates a cask of the given name and opens it in an editor
- fetch: downloads Cask resources to local cache
- doctor: checks for configuration issues
- home: opens the homepage of the cask of the given name
- update: a synonym for 'brew update'
- alfred: used to modify Alfred's scope to include the Caskroom
- edit: edits the cask of the given name
Homebrew-caskでアプリケーションをインストール
Homebrew-caskでインストールされるアプリケーション実体は /opt/homebrew-cask
に、
シンボリックリンクが ~/Application
以下に生成されます。
すでに /Application 以下に通常の手段でインストールしている場合は 同一のアプリケーションが複数存在することになりますので、 いったんそれらをアンインストールしたほうがいいかと思います。
brew cask install
アプリケーションは brew cask install [package]
でインストールできます。
インストールできるアプリケーション一覧ですが、
Casks をみるとたくさんのアプリケーションが
インストールできることがわかりますね。
ここにないアプリケーションも自分で定義を追加して管理させることができます。
とりあえずGoogle Chrome, XtraFinder, xquartzをインストールしてみます。
brew cask install google-chrome
brew cask install xtrafinder
brew cask install xquartz
インストールできました。あららくちん。
xquartzは brew doctor
をすると最新版が入ってないぞと怒られることがよくあったのでこれは便利です。
アプリケーションの削除には uninstall
コマンドを使用します。
brew cask uninstall xquartz
brew cask create
先述のCasksに存在しないアプリケーションをインストールしたい場合は自分でcaskを追加します。 追加したcaskは適当なレポジトリにpushしておき、それをtapすることでcaskコマンドで有効になります。
今回は FireAlpaca をインストールするcaskを作ってみます。
brew cask create
コマンドでcaskのひな形をつくることができます。
# /usr/local/Library/Taps/phinze-cask/Casks/firealpaca.rb が作成されてエディタが起動する
brew cask create firealpaca
class Firealpaca < Cask
url ''
homepage ''
version ''
sha256 ''
link ''
end
他のcaskを参考にしながら上記ファイルをよしなに編集、自分のレポジトリに追加します。 jiska/homebrew-cask にコミットしてありますので参考にどうぞ。
class Firealpaca < Cask
url 'http://firealpaca.com/download.php?os=mac&key=17813449013210197561d4f66c5aca8c'
homepage 'http://firealpaca.com'
version '1.0.47'
sha256 '5203f27ea841edb33d108f77901e3b4b275527f5203633713e14185cb0c66535'
link 'FireAlpaca.app'
end
さてインストールしてみましょう。
# tap
brew tap jiska/cask
Cloning into '/usr/local/Library/Taps/jiska-cask'...
remote: Reusing existing pack: 27206, done.
remote: Counting objects: 72, done.
remote: Compressing objects: 100% (69/69), done.
remote: Total 27278 (delta 35), reused 16 (delta 3)
Receiving objects: 100% (27278/27278), 10.10 MiB | 780.00 KiB/s, done.
Resolving deltas: 100% (15646/15646), done.
Checking connectivity... done.
Warning: Could not tap jiska/cask/brew-cask over phinze/cask/brew-cask
Tapped 1 formula
# install
brew cask install firealpaca
==> Downloading http://firealpaca.com/download.php?os=mac&key=17813449013210197561d4f66c5
######################################################################## 100.0%
==> Symlinking App 'FireAlpaca.app' to '/Users/jiska/Applications/FireAlpaca.app'
🍺 firealpaca installed to '/opt/homebrew-cask/Caskroom/firealpaca/1.0.47' (34 files, 57M)
インストールできました!
おわり
アプリケーションのインストールはできました。 もちろんこのあと手動で設定を行う必要があります。
この手動で設定を行う手間が大変なのでBoxenを使って自動化を試みてるわけですが、 とりあえずアプリケーションをインストールしたいという場合に Homebrew-caskは有用だと思います。