はじめに
Vagrant 環境と、ローカル環境ではフォルダを共有することができる。
Vagrantfile に設定を入れてもうまくいかなかったので、原因を探した。
結論としてはvagrant-vbguest
をアンインストールすることで解決した。
詳細をメモしておく。
環境
- Windows 環境の上に、VirtualBox + Vagrant で構築した Linux 環境を利用。
- OS は ubuntu を利用。
- Distributor ID: Ubuntu
- Description: Ubuntu 18.04.4 LTS
- Release: 18.04
- Codename: bionic
おきたこと
Vagrantfile に以下の記載を入れることで、Vagrant とローカルでフォルダを共有することができる。
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/bionic64"
config.vm.synced_folder "./gatsby/gatsby-starter-blog", "/home/vagrant/gatsby/gatsby-starter-blog"
end
そのはずなのだが、Vagrant を立ち上げ直してもフォルダの中身が共有されなかった。
エラーメッセージ
Vagrant 立ち上げ時のログは以下のようになっていた。
> vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'ubuntu/bionic64' version '20200130.1.0' is up to date...
==> default: A newer version of the box 'ubuntu/bionic64' for provider 'virtualbox' is
==> default: available! You currently have version '20200130.1.0'. The latest is version
==> default: '20220317.0.0'. Run `vagrant box update` to update.
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 8000 (guest) => 8000 (host) (adapter 1)
default: 3000 (guest) => 3000 (host) (adapter 1)
default: 9000 (guest) => 9000 (host) (adapter 1)
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Machine booted and ready!
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims: 5.2.8
VBoxService inside the vm claims: 5.2.42
Going on, assuming VBoxService is correct...
[default] A Virtualbox Guest Additions installation was found but no tools to rebuild or start them.
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims: 5.2.8
VBoxService inside the vm claims: 5.2.42
Going on, assuming VBoxService is correct...
Reading package lists...
Building dependency tree...
Reading state information...
Package 'virtualbox-guest-dkms' is not installed, so not removed
Package 'virtualbox-guest-x11' is not installed, so not removed
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
linux-headers-generic : Depends: linux-headers-4.15.0-171-generic but it is not going to be installed
linux-image-4.15.0-171-generic : Depends: linux-modules-4.15.0-171-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Reading package lists...
Building dependency tree...
Reading state information...
linux-headers-4.15.0-169-generic is already the newest version (4.15.0-169.177).
linux-headers-4.15.0-169-generic set to manually installed.
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
dkms : Depends: gcc but it is not going to be installed
Depends: dpkg-dev but it is not going to be installed
Depends: make or
build-essential but it is not going to be installed
Recommends: fakeroot
linux-headers-generic : Depends: linux-headers-4.15.0-171-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Hit:1 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:2 https://download.docker.com/linux/ubuntu bionic InRelease
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Get:4 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Get:5 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Fetched 252 kB in 3s (74.2 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
linux-headers-4.15.0-169-generic is already the newest version (4.15.0-169.177).
linux-headers-4.15.0-169-generic set to manually installed.
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
Depends: dpkg-dev but it is not going to be installed
Depends: make or
build-essential but it is not going to be installed
Recommends: fakeroot
linux-headers-generic : Depends: linux-headers-4.15.0-171-generic but it is not going to be installed
linux-image-4.15.0-171-generic : Depends: linux-modules-4.15.0-171-generic but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Unmounting Virtualbox Guest Additions ISO from: /mnt
umount: /mnt: not mounted.
==> default: Checking for guest additions in VM...
default: The guest additions on this VM do not match the installed version of
default: VirtualBox! In most cases this is fine, but in rare cases it can
default: prevent things such as shared folders from working properly. If you see
default: shared folder errors, please make sure the guest additions within the
default: virtual machine match the version of VirtualBox you have installed on
default: your host and reload your VM.
default:
default: Guest Additions Version: 5.2.42
default: VirtualBox Version: 6.0
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
umount /mnt
Stdout from the command:
Stderr from the command:
umount: /mnt: not mounted.
詳しくはわからないが、
dkms : Depends: gcc but it is not going to be installed
あたりからエラーが頻発しているように見える。
対処方法
自動でバージョンを更新してくれるプラグインvagrant-vbguest
をアンインストールする。
> vagrant plugin install vagrant-vbguest
結果、ファイル共有することができた。 他の方のブログだと、逆にこのプラグインをインストールしたら上手くいった、という人もいる。。
おわりに
詳細は難しいが、Vagrant 環境とローカル環境のファイル共有ができない問題を解決することができた。