新しい Mac にアプリやライブラリ等を Homebrew によって自動で移行させて、かつ双方 の Mac で環境を同期させるやり方の覚え書き。
古い Mac での設定
Homebrew とgit
(Developer tool が入っているなら大丈夫) が既に入っている前提。Homebrew のアップデート
brew update brew upgrade
Homebrew-Cask のインストール
/Applications/
フォルダ内のアプリを Homebrew で入れられるようにするツール。brew install caskroom/cask/brew-cask
Homebrew-file の設定
Homebrew-Cask で入れたアプリも含め、Homebrew 経由で入れたアプリ、パッケージ等を一元管理するためのツール。git の設定
自分は使い回している.gitconfig
ファイルがあるのでそれを使っている。
無ければ以下のように設定する。git config --global user.name "Your Name" git config --global user.email "your_email@example.com" ssh-keygen -t rsa -C "your_email@example.com"して
~/.ssh/id_rsa.pub
の内容を GitHub に登録。この辺の話は以前の記事にも書いてある。
Ochiailab Tips: Git と GitHub か Bitbucket を利用してソースのバックアップを取る
GitHub 上に Brewfile レポジトリを作る
最初は空っぽでいい。 Brewfile に Homebrew 経由でインストールしたアプリやパッケージを一覧にしておくことになる。brew-file のインストール
brew tap rcmdnk/file brew install brew-file
GitHub 上の Brewfile と Homebrew に紐付け
brew file set_repo -r [GitHub のアカウント名]/Brewfile
初期化
brew file initうまくいったら
brew file editでエディタが立ち上がって、Brewfile が編集できるはず。 何もいじらずに閉じる。
この辺で若干つまずいたけど、支持通りにやればなんとかなった気がする。
Brewfile の編集
/Applications/
フォルダ内の既存アプリのうち Homebrew-Cask で入れられるも
のを Cask で入れ直して Brewfile に登録する作業。Cask でインストールできるアプリをチェック
以下のコマンドはカレントディレクトリに Caskfile というのを生成するので注意。brew file casklistそしたら、英語で
- Cask でインストールされたアプリ
brew install
で入れたアプリ/Applications/
フォルダに手動で入れたけど、Cask で入れられるアプリ- Appstore から入れたアプリ
- Cask では手に入らないアプリ
Cask でアプリをインストール
例えば iTerm2 をインストールする場合は以下。brew cask install iterm2アプリは何個でも書いて大丈夫。
Cask 上でアプリがどういう名前で登録されているか確認する場合は
brew cask search amazonなどと検索すれば出てくる。
ちなみに、Cask 経由で入れたアプリはデフォルトでは
/opt/homebrew-cask/Caskroom/
にインストールされて、 /Applications/
フォルダにはシンボリックリンクが貼られる仕様になっている。
この挙動を変える方法もあるけど、ここでは触れない。あと、一度既存アプリを削除したほうがいいらしいけど、面倒くさかったのでやらなかっ た。 特に問題は発生していない。
Brewfile のアップデート
Brewfile を更新して GitHub に同期。brew file update
新 Mac での設定
以下、前節の設定と被る部分もあり。Developer tool のインストール
xcode-select --install sudo xcodebuild -licenseスペースキーで最後まで読んで agree する。
git の設定
自分は使い回している.gitconfig
があるのでそれを使っている。
無ければ設定する。git config --global user.name "Your Name" git config --global user.email "your_email@example.com" ssh-keygen -t rsa -C "your_email@example.com"して
~/.ssh/id_rsa.pub
の内容を GitHub に登録。Homebrew のインストール
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew doctor
Homebrew-Cask のインストール
brew install caskroom/cask/brew-cask
Homebrew-file のインストール
brew-file のインストール
brew tap rcmdnk/file brew install brew-file
GitHub 上の Brewfile を紐付け
brew file set_repo -r [GitHub のアカウント名]/Brewfile
アプリのインストール
以下を行えば、Brewfile に書いてあるアプリ、パッケージをダウンロードしてくれる。brew file installちょくちょくパスワードが必要になったりする。
複数 Mac で同期
新しくパッケージをインストールするとき
新しく Homebrew 経由で入れるパッケージは、brew install <package>
ではなく、brew file brew install <package>とする。 これにより、自動的に Brewfile が更新される。
この更新を GitHub に反映させるには
brew file pushでいける。
もし普通に
brew install
で入れてしまってもbrew file updateでなんとかなる。
他の Mac での更新を反映させたいとき
brew file pullで GitHub の Brewfile をダウンロードして、
brew file installで不足分をインストール。
もしくは
brew file updateでもなんとかなる。 ただ、時間はかかる。
brew file update
について
以下の一連のコマンドを実行するbrew file pull
brew file install
brew update & brew upgrade
brew file init
brew file push
brew file clean -C
Cask で入れたアプリのアップデート
Cask で入れたアプリはbrew update
やっても
アップデートされないので以下を実行する。brew cask updateただし、これだと古いバージョンも残ってしまうので、最新版だけ残す場合は以下。
brew file cask_upgrade -C
参考サイト
- Yosemite で、Homebrew 環境構築手順(brew, brew cask, brew file) - joker8phoenix's diary
- brew-file の各コマンド - joker8phoenix's diary
- Homebrew-file で homebrew でインストールしたパッケージの管理をする - TASK NOTES
cask便利ですよね!
返信削除თქვენ უფლება
返信削除