Windows の Vagrant がナゼか VirtualBox を見つけない場合


えと、この前の続きをまだ書いてないけど(汗)、関連する別の話題。

Windows で VirtualBox と Vagrant をインストールして、それなりに設定してから「vagrant up」すると、以下のエラーになることがある。

 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 could not detect VirtualBox! Make sure VirtualBox is properly installed.

Vagrant uses the `VBoxManage` binary that ships with VirtualBox, and requires
this to be available on the PATH. If VirtualBox is installed, please find the
`VBoxManage` binary and add it to the PATH environmental variable.

VirtualBox の一部である「VBoxManage」が見つからないから、環境変数 PATH にそのディレクトリを指定してねと言っているようであるが、動く環境ではこれを設定してなくても動くし、設定したところで直るわけではなかったりする。

いろいろ調べたところ、どうやら (少なくとも Windows の) Vagrant は VBOX_INSTALL_PATH という環境変数から VirtualBox のインストールパスを見つけているようである。

で、ちゃんと動いている環境は、コマンドラインで「echo %VBOX_INSTALL_PATH%」 と実行すると、期待した値が表示される。動かない環境ではこれが表示されない。

Windows の環境変数は [コントロールパネル]→[システム]→[システムの詳細設定]→[環境変数]で設定するわけで、そこをのぞいてみると、動く環境も動かない環境も VBOX_MSI_INSTALL_PATH という環境変数は設定されているものの、どういうわけか
VBOX_INSTALL_PATH という環境変数は設定されていなかったりする。

で、さらによくわからんことに、このことを確認後、それまでちゃんと動いていたオレの環境まで上記のエラーを吐いて Vagrant が動かなくなった。なんのこっちゃ?

というわけでなんだかよくわからないけれども、環境変数 VBOX_INSTALL_PATH に、VBOX_MSI_INSTALL_PATH と同じ値を設定しておくと良いようだ。こんなカンジ。

VBOX_INSTALL_PATH

 


コメントを残す