Vagrantでハマった話
2018年03月7日
目次
vagrantでの警告にハマった話
こんにちは!ウェブエンジニアのジワタネホです!
いやー、すっかり更新が遅くなってしまいました!!
言い訳としては、確定申告とVagrantにハマってしまったんです。
今日はそのVagrantでハマったことと解決方法を備忘録として
同じことでハマってる人の助けになれば!!
事象
ある日Vagrant up時に以下の警告が出るようになりました。
userName:vagrant userName$ vagrant up Bringing machine 'default' up with 'virtualbox' provider... ==> default: Checking if box 'bento/centos-7.1' is up to date... ==> default: There was a problem while downloading the metadata for your box ==> default: to check for updates. This is not an error, since it is usually due ==> default: to temporary network problems. This is just a warning. The problem ==> default: encountered was: ==> default: ==> default: The requested URL returned error: 404 Not Found ==> default: ==> default: If you want to check for box updates, verify your network connection ==> default: is valid and try again.
boxのアップデートを確認してと言われてます。
さらにエラーではなくて一時的なネットワークの問題ですと。
さらにさらにただの警告ですと言っています。
404エラーが返ってきていると。
基本的にスルーしていても通常通り仮想環境は動きます。
けど気になりますよねーというか警告をほっておいても良いことなさそうなのでなんとかしようと思ったのが運の尽き。
3時間ほどハマってしまった。
ハマった理由
私事なのですが、最近railsのアプリの開発に着手いたしまして、ローカル開発はvagrantを使用しております。
そのローカル環境を構築したのですが、本警告が出るようになったのがそのタイミングでした。
そしてその際に公開鍵の設定やら色々イジったタイミングだったので、警告の原因の特定をミスりました。
temporary network problems
これが気になっちゃったんですよねー。。
で、以下試して検討違いだったコマンド
vagrant provision
vagrant box update
原因
結局は、rails環境構築時にvirtualboxをアップデートしたことが原因でした。
vagrantではなくvirtualboxです。
アップデートしたvirtualboxに該当のbox(上記で言えば、bento/centos-7.1)が対応していないことが原因でした。
解決方法
対応しているバージョンにvagrant fileを書き換えて上げればokです。
config.vm.box = "bento/centos-7.4"
これでvagrantを再起動すれば完了です。
ちなみに私、centosだけでなく、wordpress用のboxのvccwの
方も同様の警告が出ていました。
こちらは、公式のgithubからvagrant fileを引っ張ってきてアップデートしました。
最後に
いやー安易にvirtualboxとかアップデートするもんではないね。
まあ良い勉強にはなりましたが。
これでスッキリ。