ロックとチュウーハイとこりんがるな日々

日々のインプットした事をアウトプットする場所

vagrant1.5.1にアップデートしたらvagrantがうんともすんとも言わなくなったのを解決してみる

とりあえずなにもできない状態、vagrant up、initもできない唯一確認できたのは vagrant -vで確実にバージョン は上がっている事だけは確認できた

$ エラー内容

$ vagrant up
Vagrant failed to initialize at a very early stage:

The plugins failed to load properly. The error message given is
shown below.

undefined method `[]' for nil:NilClass

plugins がなんたらかんたら言うてるのでとりあえず以下のコマンドを実行

$ vagrant plugin
Vagrant is upgrading some internal state for the latest version.
Please do not quit Vagrant at this time. While upgrading, Vagrant
will need to copy all your boxes, so it will use a considerable
amount of disk space. After it is done upgrading, the temporary disk
space will be freed.

/Users/box406/.vagrant.d/gems/gems/vagrant-vbguest-0.9.0/lib/vagrant-vbguest/vagrant_compat.rb:8:in `<top (required)>': undefined method `[]' for nil:NilClass (NoMethodError)
  from /Users/box406/.vagrant.d/gems/gems/vagrant-vbguest-0.9.0/lib/vagrant-vbguest.rb:11:in `require'
  from /Users/box406/.vagrant.d/gems/gems/vagrant-vbguest-0.9.0/lib/vagrant-vbguest.rb:11:in `<top (required)>'
  from /Users/box406/.vagrant.d/Vagrantfile:7:in `require'
  from /Users/box406/.vagrant.d/Vagrantfile:7:in `block in <top (required)>'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/config/v2/loader.rb:37:in `call'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/config/v2/loader.rb:37:in `load'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/config/loader.rb:104:in `block (2 levels) in load'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/config/loader.rb:98:in `each'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/config/loader.rb:98:in `block in load'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/config/loader.rb:95:in `each'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/config/loader.rb:95:in `load'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/vagrantfile.rb:28:in `initialize'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/environment.rb:486:in `new'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/environment.rb:486:in `vagrantfile'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/environment.rb:317:in `host'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/environment.rb:168:in `block in action_runner'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/runner.rb:36:in `call'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/action/runner.rb:36:in `run'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/environment.rb:304:in `hook'
  from /Applications/Vagrant/embedded/gems/gems/vagrant-1.5.1/lib/vagrant/environment.rb:148:in `initialize'
  from /Applications/Vagrant/bin/../embedded/gems/gems/vagrant-1.5.1/bin/vagrant:149:in `new'
  from /Applications/Vagrant/bin/../embedded/gems/gems/vagrant-1.5.1/bin/vagrant:149:in `<main>'

vagrant-vbguestのバージョンが古いのかなと思い以下のページを参考にしてpluginのアップデートを行った

参考ページ : Vagrant1.2.2から1.3.2にあげたらvagrant-vbguestが動作しない

$ アップデートの手順

  1. グローバルのVagrantfileを編集

     $ vim ~/.vagrant.d/Vagrantfile
    

    以下をコメントアウトする

     - require 'vagrant-vbguest' unless defined? config.vbguest
     - config.vbguest.auto_update = false
     + #require 'vagrant-vbguest' unless defined? config.vbguest
     + #config.vbguest.auto_update = false
    
  2. pluginをアップデート

     $ vagrant plugin update vagrant-vbguest
    

    僕の場合は以下のpluginがアップデートされました

     Updating plugins: vagrant-vbguest. This may take a few minutes...
     Updated 'sahara' to version '0.0.16'!
     Updated 'vagrant-vbguest' to version '0.10.0'!
    
  3. グローバルのVagrantfileを編集

     $ vim ~/.vagrant.d/Vagrantfile
    

    以下をコメントアウトとる

     - #require 'vagrant-vbguest' unless defined? config.vbguest
     - #config.vbguest.auto_update = false
     + require 'vagrant-vbguest' unless defined? config.vbguest
     + config.vbguest.auto_update = false
    

アップデート後はvagrant up, initともに正常に動作しています

しかしvagrantをアップデートするたびに絶対に一度動かなくなっているさくっとアップデートはできないものか・・・・

でもこれでvagrant shareが試せるぜーーーー

でわでわ