Brewfileを使ってMac移行時にコマンド1つで必要なアプリを全てインストールできるようにする|Homebrew Bundle
自分はHomebrew Caskを使ってアプリをインストールするようにしています。
また、インストール用のコマンドをメモしてDropbox上にまとめているので、Mac移行時はHomebrewをインストールしてコマンドを叩けば一気にインストールできます。
ただ、これだとApp Storeのアプリはインストールできなかったので別途インストールが必要です。
(そのためApp Storeのアプリは極力入れないようにしていました)
しかし、「Brewfile」を使えばApp Storeのアプリもインストールできますし、ファイル上にアプリを全部まとめてコマンドは1行で済むなど、かなりスマートになります。
ちなみに、Brewfileはファイルの名前で、機能名は「Homebrew Bundle」になります。
Brewfileの使い方
Homebrewが入っていればBrewfileは使えます。
いまの環境からBrewfileを生成する
自分の環境に入っているアプリと照らし合わせながら、1からファイルを作っていくのは面倒です。
下記コマンドを実行すれば、自動で現在の環境に合わせてBrewfileが生成されています。
brew bundle dump
実行するとホームディレクトリのBrewfileが生成されています。
アルファベット順にキレイに整理されています。
Dropbox内に移動して、もとあったホームディレクトリにはシンボリックリンクを置いておくと、Macを移行しても必要なアプリがすぐにインストールできますね。
Brewfile内のルール
Brewfileにはいくつかルールがあるので、まとめます。
(自分で書く必要はないですが、どんな風に書かれているのか理解するため)
- 先頭に「
cask_args appdir: "/Applications"
」という風に記述すると、インストーラを使ってインストールするアプリの保存場所を指定できる - Homebrewに登録されているコマンドラインツールは「
brew 'ツール名'
」(brew install
コマンドでインストールするもの) - Homebrewに登録されていないコマンドラインツールは「
tap 'ツール名'
」(brew tap
コマンドでインストールするもの) - 通常のアプリケーションは「
cask 'アプリ名'
」(Homebrew Caskを使ってインストールするもの) - App Storeでインストールするアプリは「
mas 'アプリ名' id:○○
」
ちなみにbrew cask
はHomebrewをインストールすれば自動で使えるようになりますが、mas
に関しては別途「mas-cli」をインストールする必要があります。
Brewfileを実行する
Mac移行時はホームディレクトリにBrewfileを置いて下記コマンドを実行します。
brew bundle
いままでMagnetをいちいちインストールするのが面倒だったのですが、その必要もなくなりました。
Brewfileにいまの環境を合わせる
Brewfileは言ってしまえば「いまの自分のMacにインストールされている全てのコマンドラインツール・アプリの一覧ファイル」になります。
一覧を見ていて「このアプリ使っていないな」となったら、Brewfileから該当の行を削除して、下記コマンドを実行します。
するとBrewfileに合わせて削除した行のコマンドラインツール・アプリをアンインストールしてくれます。
brew bundle cleanup
いまのMac環境はとりあえずここを見ればよくなるので、これはかなり便利ですね。