新しくPCを購入し環境を構築していく時、古い環境にHomebrewを使ってインストールしていたソフトウェアを同様にインストールしたい。もちろん一つずつ手動で brew install をしていくこともできるが、HomebrewはHomebrew Bundle1というツールを用意している。
これはインストールされているソフウェアの情報をBrewfileに書き出す。またその書き出されたBrewfileに従ってソフウェアをインストールできる。
RubyのBundlerやPythonのpip freezeとrequirements.txtのHomebrew版という代物だ。今回はHomebrew Bundleを使ってBrewfileの書き出しと、Brewfileを用いてのインストールをする。
Brewfileを書き出す
Brewfileを作成する。
brew bundle dump
コマンドが成功するとBrewfileというファイルが生成されている。
Brewfileにはインストールされているソフトウェアの情報や、tap2しているリポジトリの情報が記述されている。
tap "mongodb/brew" tap "rcmdnk/rcmdnkcask" tap "takesxisximada/homebrew-tap" brew "apr-util" brew "arm-linux-gnueabihf-binutils" brew "asciidoc"
tapで始まっている行は追加するリポジトリ情報で tap "takesxisximada/homebrew-tap" となっている所は brew tap takesxisximada/homebrew-tap によって追加されたリポジトリを表している。
brewで始まっている行は追加するソフトウェア情報で brew "asciidoc" となっている所は brew install asciidoc によって追加されたソフトウェアを表している。
Brewfileからソフトウェアをインストールする
事前準備
必要なソフトウェアをそれぞれインストールしておく。
mas-cli :: AppStoreのアプリケーションをCLIでインストールするコマンド。
brew install mas
whalebrew :: Dockerで起動するものをlocalのコマンドとして使えるようにする。
brew install whalebrew
brew bundleでソフトウェアをインストールする
カレントディレクトリに先程生成したBrewfileを配置して brew bundle を実行するとインストールが始まる。
brew bundle
Brewfileの中身
Brewfileにはインストールされているソフトウェアの情報や、tap2しているリポジトリの情報が記述されている。
tap "mongodb/brew" tap "rcmdnk/rcmdnkcask" tap "takesxisximada/homebrew-tap" brew "apr-util" brew "arm-linux-gnueabihf-binutils" brew "asciidoc"
tapで始まっている行は追加するリポジトリ情報で tap "takesxisximada/homebrew-tap" となっている所は brew tap takesxisximada/homebrew-tap によって追加されたリポジトリを表している。
brewで始まっている行は追加するソフトウェア情報で brew "asciidoc" となっている所は brew install asciidoc によって追加されたソフトウェアを表している。
参考
Homebrewはデフォルトではhomebrew-coreに登録されているフォーミュラ(インストールの際のレシピのようなもの)を使用するが、外部のリポジトリも使用できる。外部のリポジトリを使用するためには brew tap コマンドを用いてフォーミュラを利用するリポジトリを追加する。