brew bundleで構築した環境を再現
今回はbrew bundle
を使えば便利って話。
これより下を読みたくない人はbrew bundle dump
って打てば幸せになれるかもしれない。
brew bundleってなに?使い方は?
brewは、みんな知ってるmacOSのパッケージマネージャ。brew install
とか、brew update
、brew upgrade
とか色々みんなお世話になってると思う。
じゃあbrew bundle
って何?っていうと、brewを使って入れたパッケージの一覧を読み込んで、一括でインストールしてくれるヤツ。1つのコマンドで前使っていたパッケージが全部入るのですごく便利。
じゃあそのインストールするパッケージのリストはどうやって出すの?っていうと、brew bundle dump
。
これを実際に打ってみると、カレントディレクトリにBrewfileっていうファイルが生成される。これをGitHubとかで管理しておいて、新しいPCに移せば、brew bundle
と打つだけで前と同じ環境が再現できちゃう。素敵。
環境再現用スクリプトを書いてみよう
ついこないだ僕が所属している研究室で席決めがあって、自分用のiMacが割り当てられることになった。
もちろんクリーンインストールするわけだけど、当然また環境構築が必要。
そこで、色々調べてみるとbrew bundle
とやらで一発で再現ができるらしいということがわかって、やる気が出てきて再現用スクリプトを書くことにした。以下は自分が実際に書いたsetup.sh。
というふうにやる。
しかしsetup.shでdotfilesディレクトリをcloneするのは、この手順だと無駄になってしまう。(ダブるため)
これを本当は解決したかったけど、解決するには直接USBメモリとか経由でsetup.shを移すしかないという結論にいたった。それはダルいので、素直にダウンロードしてきてcloneの部分だけコメントアウトして使うようにしている。まぁコメントアウトせずともソースから削除すればいいんだけど。
他にはbrew cask
コマンドも組み合わせて、通常はブラウザから落としてこないといけないChromeとかも一括でインストールするようにした。ちなみに冒頭で紹介したbrew bundle dump
で吐き出されるBrewfileにはbrew cask install
でインストールしたアプリとかもリストアップされるので本当に便利。caskのtapも自動で行われる。
.zshrcとか.vimrcとかもついでに管理するようにした。setup.shの最後にシンボリックリンクを貼るようにもしているので、かなり環境の再現がラクになった。
3,4行目
これはMac上の隠しファイルをFinderで表示するための手順。
5~7行目
これはスクリーンショットを$HOME/Pictures/screenshotsに保存するための手順。
8行目
brewのインストールに必要なxcodeの一部をインストールするコマンド。
まとめ
brew bundle
で環境を再現する手順
おまけ
こういう記事も書きます。趣味や日記だけでなく技術?っぽい記事も書くのでよかったら参考にしてね。