いままでシコシコと VMWare Player で仮想マシンを手動でインストールしては、開発用の環境を作っていたのに時間もかかるし、手順間違えるし、飽々したところ、今更ながら vagrant を使ってみたら桃源郷のようだったので、サーバ構成もと思い chef に手を出してみようと、ほうぼうで評判のイイ 入門ChefSolo を購入してソロハンズオンしていたところ、いきなりハマった。

それぞれの環境は以下のとおりです。

  • VirtualBox 4.2.12 r84984
  • Vagrant 1.2.2

症状

P.24 に従って、Vagrantfile に以下を追記すると、エラーで vagrant up できない。

``` config.vm.network :hostonly , "192.168.50.12" ``` ``` $ vagrant up /Applications/Vagrant/embedded/gems/gems/vagrant-1.2.2/plugins/kernel_v2/config/vm.rb:146:in `[]': can't convert Symbol into Integer (TypeError) ... ```

対処

生成された Vagrantfile をよく見たら、引数の仕様が変更されていたので、以下のように渡す。

``` config.vm.network :hostonly , ip: "192.168.50.12" ```

しかしエラー

例外は出なくなったが、今度は別のエラー。

``` vm: * Network type 'hostonly' is invalid. Please use a valid network type. ```

:hostonly は Invalid だそうだ。

どうやらこれも仕様変更があったらしいので、:private_network に変更。

``` config.vm.network :private_network , ip: "192.168.50.12" ```

これで up できるようになりました。

 p.33 でもコマンド引数変更

順調に vagrant up できたので、ふんふーんと思っていたら p.33 の sahara プラグイン導入コマンドが動きませんでした。

``` $ vagrant gem install sahara Usage: vagrant [-v] [-h] command [<args>] ``` ``` -v, --version Print the version and exit. -h, --help Print this help. ... ```

vagrant gem というコマンドが無いみたい。

vagrant plugin install sahara とやったらインストールできました。gem => plugin になったようです。

``` $ vagrant plugin install sahara Installing the 'sahara' plugin. This can take a few minutes... Installed the plugin 'sahara (0.0.15)'! ```

まだまだ追記するかも。