windowsにvagrantを入れてみた
vagrantはコンソールから仮想マシンを操作するためのソフト。
Chefというソフトと連携して、仮想マシンに追加でソフトをインストールすることもできる。
これを使えば、同じ環境の仮想マシンをぽこぽこ作れるわけです。
で、これをWindowsに入れようと思ったわけですが、最新版を入れると仮想マシンの起動でエラーを吐いて上手く動かない。
C:/Ruby193/lib/ruby/gems/1.9.1/gems/virtualbox-0.9.2/lib/virtualbox/com/implemen ter/mscom.rb:61:in `method_missing': (in OLE method `ImportMachines': ) (WIN32OL ERuntimeError) OLE error code:0 in <Unknown> <No Description> HRESULT error code:0x80020005 Type mismatch. from C:/Ruby193/lib/ruby/gems/1.9.1/gems/virtualbox-0.9.2/lib/virtualbox /com/implementer/mscom.rb:61:in `call_function'
と、言う訳でこれの解決方法のメモ。
結論から言うとバージョン選びが重要。最新バージョンは動きません。(2012/1/15現在)
以下のバージョンで動作を確認。
- ruby 1.9.3p0
- vagrant 0.7.8
- Virtual Box 4.0.16
まずはRuby。これは最新バージョンでも動くと思う。
今回はRubyInstaller for Windowsを使った。DevKitなるものがあとで必要となるので、Development Kit - GitHubを参照して、これも入れておく。
vagrantはRubyのライブラリ。gemを使ってインストールする。そのままインストールすると最新バージョンをインストールされてしまうので、次のようにする。
gem install vagrant -v 0.7.8
VirualBoxはDownload_Old_Builds - VirtualBoxから4.0系列を落としてきてインストール。
GUIのインストーラに従って、OKボタンを連打していけばOK。
最新版で上手く動かないのはvagrantのバグらしく、次期バージョンではこの問題は修正されるらしい(#420: Broken after upgrading to VirtualBox 4.1.0 & Vagrant 0.9 on Windows XP - Issues - mitchellh/vagrant - GitHub)。
それまでちょっと古いので我慢。詳しい使い方は、また今度。勉強したらまたメモします。