macOSアップデート前のVagrantの環境は以下の通り。
macOS 10.13.x → 10.14
VirtualBox 5.1.10
Vagrant 1.8.7
だいぶ古い組み合わせで使っていたので、MojaveへのアップデートでVirtualBoxが起動できなくなってしまいました。
そのためVagrantが動作するように各ソフトウェアをアップデートしていきます。
VirtualBoxのアップデート
Downloads ? Oracle VM VirtualBox
こちらから最新のVirtualBoxをダウンロードしました。現時点で5.2.20です。
.pkgファイルからインストールしてください。
すると今度は、Vagrant 1.8.7はVirtualBoxの5.1までしか動作しないというエラーがでました。
The provider 'virtualbox' that was requested to back the machine 'default' is reporting that it isn't usable on this system. The reason is shown below: Vagrant has detected that you have a version of VirtualBox installed that is not supported by this version of Vagrant. Please install one of the supported versions listed below to use Vagrant: 4.0, 4.1, 4.2, 4.3, 5.0, 5.1 A Vagrant update may also be available that adds support for the version you specified. Please check www.vagrantup.com/downloads.html to download the latest version.
Vagrantのアップデート
Vagrantをアップデートします。
Download – Vagrant by HashiCorp
こちらでから最新のVagrantをダウンロードをしました。現時点で2.2.0です。
コマンドラインからアップデートできるかと思ったのですが、私が調べた限りだとインストーラからアップデートするのが一般的のようです。
同じように.pkgからインストールするとプラグインが正しく初期化出来ないというエラーが出ました。おそらくアップデートしたvagrantのバージョンと合わないのでしょう。
Vagrant failed to initialize at a very early stage: The plugins failed to initialize correctly. This may be due to manual modifications made within the Vagrant home directory. Vagrant can attempt to automatically correct this issue by running: vagrant plugin repair If Vagrant was recently updated, this error may be due to incompatible versions of dependencies. To fix this problem please remove and re-install all plugins. Vagrant can attempt to do this automatically by running: vagrant plugin expunge --reinstall Or you may want to try updating the installed plugins to their latest versions: vagrant plugin update Error message given during initialization: Unable to resolve dependency: user requested 'sahara (> 0)'
Vagrantのプラグインをアップデートする
先ほどのエラーメッセージには色々と対処方法が示されていましたが、とりあえずプラグインのアップデートを試してみます。
$ vagrant plugin update Updating installed plugins... Fetching: open4-1.3.4.gem (100%) Fetching: Platform-0.4.1.gem (100%) Fetching: popen4-0.1.2.gem (100%) Fetching: sahara-0.0.17.gem (100%) Fetching: vagrant-hostsupdater-1.1.1.160.gem (100%) Fetching: vagrant-share-1.1.9.gem (100%) Fetching: vagrant-cachier-1.2.1.gem (100%) Updated 'sahara' to version '0.0.17'! Updated 'vagrant-cachier' to version '1.2.1'! Updated 'vagrant-hostsupdater' to version '1.1.1.160'! Updated 'vagrant-share' to version '1.1.9'!
うまくいきました。
これでブラウザからhost設定したサイトを開いてみたところ正常に表示することが出来ました。
更新内容は以下の通り。
macOS 10.13.x → 10.14
VirtualBox 5.1.10 → 5.2.20
Vagrant 1.8.7 → 2.2.20
Vagrant plugins
sahara (0.0.17, global)
vagrant-cachier (1.2.1, global)
vagrant-hostsupdater (1.1.1.160, global)
vagrant-share (1.1.9, global)
※Vagrant pluginsはupdate前のplugin listがエラーで実行できなかったので元のバージョンはわかりませんでした。
なのでmacOSをアップデートしてVagrantが動作しなくなったら
- `vagrant up`のエラーメッセージを確認する
- VirtualBox由来のエラーが出たらVirtualBoxを更新する
- Vagrant由来のエラーが出たらVagrantを更新する
- Vagrantのプラグイン由来のエラーが出たらプラグインを更新する
という手順で対応すると動くんじゃないかな。と思います。