そもそも Vagrant 使おうと思いたった経緯
以前 ドットインストール さんにレッスンがあったので
試してみたことはあったのですが、
自分の環境で利用している「pallarels desctop」と相性が悪いのか、
同時に立ち上げるとMacが落ちるという現象があったため利用はしていなかったのです。
がしかし
先日アホなミスをしてしまい、Macを初期化するハメになってしまい、
データや環境の復旧はだいたいできたのですが、
Rubyの環境がどうしてもうまく構築できなくなってしまったため、
これまで、スクリプトの実行をMacで行っていたのを
「Vagrant」を使って仮想環境を構築してそこで実行するようにしようと思いったたのがことのはじめです。
vagrant の box を作成してみる
折角環境を作ったのでboxを作ってみました。
vagrant package
少し時間はかかりましたが問題なく package.box が生成されました。
生成された package.box を vagrant に登録して
vagrant box add myImage package.box
Vagrantfile
config.vm.box = "myImage"
新しく仮想環境を作成してみようとした所、エラーが発生してしまいました。
vagrant up
仮想環境自体は作成されて ssh接続は出来るのですが、どうやら共有フォルダがマウントされていないようです。
共有フォルダを利用できるようにする
少し調べていた結果、
VirtualBox のバージョンがbox作成時と現在とで異なっているのが原因らしいです。
Vagrantの共有ディレクトリ設定でものすっごい躓いた!
を参考に問題を解決してみることに
VirtualBoxのバージョン違いを解決するプラグインをインストールする
vagrant plugin install vagrant-vbguest
vi ~/.vagrant.d/Vagrantfile
javascript:~/.vagrant.d/Vagrantfile
Vagrant.configure("2") do |config|
config.vbguest.auto_update = false
end
バージョンが異なっているかどうかを確認
vagrant vbguest --status
GuestAdditions versions on your host (4.3.10) and guest (4.2.16) do not match.
やはりバージョンが違うらしい
vagrant vbguest --auto-reboot
で修正してくれるらしいので実行してみた。
無事終了したっぽいので確認
vagrant vbguest --status
GuestAdditions 4.3.10 running --- OK.
解決したらしい。
Vagrant をリブートしてみる
v reload
~~~
==> default: Configuring and enabling network interfaces...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
ARPCHECK=no /sbin/ifup eth1 2> /dev/null
Stdout from the command:
Device eth1 does not seem to be present, delaying initialization.
Stderr from the command:
ダメみたい。
IPアドレスがうまく振り当てられていないみたいなので、
ここを参考に少し修正してみる
Vagrant にSSH接続して後に
sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib/VBoxGuestAdditions
sudo ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions /usr/lib64/VBoxGuestAdditions
を実行
リブートしてみる
vagrant reload
解決した。
なかなか大変でした。