MacBook AirとMac Mini間で同じ開発環境を使用するため、Vagrantを使い、かつVagrantfile
、provision内容、カスタムボックス、設定ファイルなど一式をDropboxで同期していました。
ただ、困ったのが一方のマシン(VM未作成)でVMを作ると、もう一方のマシン(VM作成済)でvagrant up
しても作成済のVMを使わず、新たにBoxをインポートしてVMを作ってしまうこと。
調べてみると、VagrantはVMを作成した際に、そのVMのID情報をVagrantfile
があるディレクトリと同じ場所に.vagrant
フォルダとして作成しているようでした(Vagrantの以前のバージョンでは.vagrant
ファイルだったようです)
つまり原因は、一方のマシンでVMが作られ、同期されることで、紐付情報が変わってしまうことでした。もう一方のマシンは「あれ、紐付け先のVMないじゃん。じゃあ、boxから作っちゃおーと」という感じで作成してしまっていたということですね・・。
なので、Dropboxの選択型同期機能で.vagrantフォルダを同期対象から外すことで解決しました。初歩的なところで結構つまづきました・・
参考:Dropboxで特定のファイルやフォルダを同期することができる「選択型同期」がかなり熱い!
追記:
同期する場合は、UUID(紐付情報)を変更する&.vagrant
フォルダ以下の紐付け情報を更新する、でもいいと思う。面倒なので試してないけど!