Vagrantを起動しようとした際に、良くはまるVagrantのエラーを備忘録としてまとめる。
公開鍵エラー
vagrant up
時に下記のエラーが発生した場合、次の二つのことを試みてください。
- VirtualMachinePlatformを無効にする
- 公開鍵をセットする
・・・(省略)
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Remote connection disconnect. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
・・・(省略)
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.
If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.
If you're using a custom box, make sure that networking is properly
working and you're able to connect to the machine. It is a common
problem that networking isn't setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.
If the box appears to be booting properly, you may want to increase
the timeout ("config.vm.boot_timeout") value.
VERR_VMX_NO_VMX
エラー
vagrant up
時に、CLIでVT-x is not available
やVERR_VMX_NO_VMX
のエラーが生じることがあります。その場合は、PCのブート画面からVT-x
を有効にしてください。 有効にする方法は、VT-xの有効可を参考にしてください。
VirtualBox Guest Additions
のバージョン相違エラー
VirtualBox
のホスト側と、Vagrant
で構築されたゲスト側のVirtualBox Guest Additions
のバージョンが異なる場合、vagrant
は起動しません。そのバージョンの相違を修正するvagrantプラグインがvagrant-vbguest
になります。
そのvagrant-vbguest
を使用して、バージョン相違を修正した際に、下記のエラーが生じることがあります。これは、vagrant-vbguest
がバージョン相違を修正した際に、VMの再起動が必要になるからです。そのため、vagran reload
で再起動を行ってください。
Vagrant was unable to mount VirtualBox shared folders. This is usually
because the filesystem "vboxsf" is not available. This filesystem is
made available via the VirtualBox Guest Additions and kernel module.
Please verify that these guest additions are properly installed in the
guest. This is not a bug in Vagrant and is usually caused by a faulty
Vagrant box. For context, the command attempted was:
mount -t vboxsf -o uid=1000,gid=1000,_netdev vagrant /vagrant
The error output from the command was:
: Invalid argument
もし、それでも解消されない場合は、VirtualBoxのソフトを起動し、そこから、起動しているVMを強制停止したのち、vagran reload
を実行してください。(Windowsの再起動も試してください。)
ホスト側のIPアドレスの相違エラー
UbuntuでVirtualBox
+Vagrant
環境を構築すると、vagrant up
で下記のエラーが生じる場合があります。これは、IPアドレスのレンジが異なるため発生します。その時は、Vagrantfile
を修正して正しいIPアドレスを付与してください
==> default: Clearing any previously set network interfaces...
The IP address configured for the host-only network is not within the
allowed ranges. Please update the address used to be within the allowed
ranges and run the command again.
Address: 192.168.56.101
Ranges: 192.168.33.0/21
Valid ranges can be modified in the /etc/vbox/networks.conf file. For
more information including valid format see:
https://www.virtualbox.org/manual/ch06.html#network_hostonly
(Vagrantfile)
#(変更前)
node.vm.network :private_network, ip: '192.168.56.101'
#(変更後)
node.vm.network :private_network, ip: '192.168.33.101'
.netrcの構文ミス
Vagrantではないですが、gitコマンドのIDとPWを省略するために.netrc
を用いることがあります。
# コメント
machine github.com
login xxxxxx
password ghp_xxxxxxxxxxxxxxxxxxx
以前は、コメントが利用できていましたが、環境に依存するのか調査していないですが、下記のエラーが生じることがあります。その場合は、コメントを削除してください。
default: /home/vagrant/.netrc: line 2: machine: command not found
default: login: Cannot possibly work without effective root
default: /home/vagrant/.netrc: line 4: password: command not found
VERR_INTNET_FLT_IF_NOT_FOUND
エラー
VirutalBox7.xの環境においてvagrant up
で下記のエラーが発生する場合があります。
==> default: Booting VM...
There was an error while executing `VBoxManage`, a CLI used by Vagrant
for controlling VirtualBox. The command and stderr is shown below.
Command: ["startvm", "87e1b4f5-9363-4430-9eb9-36c684d306ab", "--type", "headless"]
Stderr: VBoxManage.exe: error: Failed to open/create the internal network 'HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #13' (VERR_INTNET_FLT_IF_NOT_FOUND).
VBoxManage.exe: error: Failed to attach the network LUN (VERR_INTNET_FLT_IF_NOT_FOUND)
VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole
ネットワークの設定からVirtualBox Host-Only Networkの「インターネット プロトコルバージョン6(TCP/IPv6)」をチェックを外し、IPv6を無効にする。
参考)
- https://qiita.com/hibohiboo/items/e02e0e02f5365e24ffb0
- https://qiita.com/nakazii-co-jp/items/074c64f5e72f06c94b25
WindowsアップデートでVagrantが起動しなくなった
Windowsのアップデートで、急にVagrantが起動しなくなることがあります。
VirtualBox
とVagrant
を再インストールすることで解消されることがあります。ただし、最新のVirtualBox
とVagrant
をインストールすると、別のトラブルが生じることがあるので、ご留意ください。また、Vagrant
を再インストールした場合は、忘れずにVagrantプラグインも再インストールしてください。
※筆者の私が良く使用するvagrantプラグインは、vagrant-hostmanager
,vagrant-hosts
,vagrant-disksize
,vagrant-vbguest
です。
関連)
- https://qiita.com/nakazii-co-jp/items/b5af00d3dd633484c060
- https://qiita.com/nakazii-co-jp/items/074c64f5e72f06c94b25
vagrant-vbguest
エラー (Vagrant 2.4.3
以降)
古いVagrantのバージョン(Vagrant 2.4.3
以前)で構築した環境に対して、Vagrant 2.4.3
にアップグレードして、vagrant-vbguest
が実行されると下記のエラーが生じます。
==> default: Attempting graceful shutdown of VM...
==> default: Destroying VM and associated drives...
/usr/share/vagrant/gems/gems/vagrant-vbguest-0.32.0/lib/vagrant-vbguest/hosts/virtualbox.rb:84:in `block in guess_local_iso': undefined method `exists?' for class File (NoMethodError)
path && File.exists?(path)
^^^^^^^^
原因は、Rubyのバージョンが上がったことで、File.exists?(path)がFile.exist?(path)に変更されました。
vagrant-vbguest
本家( https://github.com/dotless-de/vagrant-vbguest )はメンテナンスされておらず、このバグ修正がされていませんが、Forkされたリポジトリで修正されているため、そのvagrantプラグインを使用するよう変更してください。
詳しくは、こちらをご覧ください。