前置き
MacのOSをアップデートして、いままで動作していた仮想環境が、予想通り動かなくなってました。
virtualBoxも更新せざるを得なくなり、Vagrantのバージョンもそれに合わせないといけない模様。
virtualBox、Vagrantそれぞれ最新を落として、
Vagrantのバージョン問題は「vbguestプラグイン」で解決!と踏んでいたのが甘かった。。
# vagrant plugin install vagrant-vbguest
上記実行後、vagrantを立ち上げるも、GuestAdditionsのdo not matchが発生。
# vagrant up
・
・
GuestAdditions versions on your host (7.1.4) and guest (5.2.44) do not match.
・
・
このままでも一応使えなくはないんだけど、このエラーのせいでシンクフォルダ(ローカルのプロジェクトフォルダを仮想環境上のdirに同期)が失敗するそうなので、直すしかない。。
解決方法
ゲスト側のGuest Additionsのバージョンを、
ホスト側のGuest Additionsのバージョンに合わせる対応をしていきます。
1) 仮想マシン(ゲストOS)にログイン
# vagrant ssh
2) GuestAdditionsのイメージを取得
# curl -OL http://download.virtualbox.org/virtualbox/x.x.x/VBoxGuestAdditions_x.x.x.iso
「x.x.x」の箇所は各々の状況に合わせて変えてください。ここには「GuestAdditions versions ~ do not match.」ででた「on your host」側のバージョンの数値を入れます。
※私の場合は「7.1.4」となる。
3) ISOファイルのマウント先ディレクトリを作成し、ISOファイルをマウント
# sudo mkdir /VBoxGuestAdditions
# sudo mount -o loop,ro VBoxGuestAdditions_x.x.x.iso /VBoxGuestAdditions
4) インストールを実行
# sudo sh /VBoxGuestAdditions/VBoxLinuxAdditions.run
5) アンマウント
# sudo umount /VBoxGuestAdditions
6) マウント先ディレクトリを削除して、ISOファイルも削除
# sudo rmdir /VBoxGuestAdditions
# rm VBoxGuestAdditions_x.x.x.iso
7) 仮想マシン(ゲストOS)からログアウト
# exit
8) ホストOSで、Vagrant再起動
# vagrant reload
これでバージョン違いも解決して、シンクフォルダもできました!
(まさか、ゲストエディションのバージョン差異がシンクフォルダの挙動に影響するとは。。。)