複数のMac間でVagrant利用してるコードをDropboxで同期しようと思ったんですが、そのままだと仮想マシンの情報まで同期されてしまって困ったことになります。
具体的になにがおきるかというと仮想マシン情報のはいった .vagrantフォルダまでDropbox経由で同期され、Mac-Aでvagrant upして作成された仮想マシンが当然Mac-Bではみつからず、Mac-Bでvagrant upすると .vagrantフォルダはこんどは Mac-B用に書き換わってMac-Aでまた仮想マシンみつからなくなるってループになります。
でもってこれを解消する手段として VAGRANT_DOTFILE_PATH
って環境変数が用意されてるのでこれを設定します。
私は下記を .bashrc に書きました。
# vagrant
export VAGRANT_DOTFILE_PATH=.vagrant-$HOSTNAME
これで各マシン毎にことなるフォルダに仮想マシン情報書き込んでくれるのでVagrantフォルダごと同期しても問題無くなります。
参考
- Environmental Variables - Vagrant by HashiCorp
- Dropboxで複数マシン間でVagrant開発環境を同期している時に、vagrant upで既存仮想マシンが利用されない問題 - Qiita