WindowsでVagrant+Chef+knife-soloがうまくいかない

Gemのインストールに失敗

bundle exec knife configure

ERROR: Ohai::Exceptions::DependencyNotFound: Can not find a plugin for dependency os

となるため調べてみると、bundlerで入れた Chefのバージョンがよろしくない。 そこでGemfileを

gem 'chef' ,'~>11.12.4'

としてやると、今度は「指定されたモジュールが見つかりません。」となる。 今度はどうやらwin32apiのバージョンがよろしくない模様。

gem 'win32-api', '~>1.5.1'

をGemfileに追記し

bundle install --path vendor/bundle

を実行すると

Resolving dependencies...
Bundler could not find compatible versions for gem "win32-api":
  In Gemfile:
    chef (~> 11.12.4) x86-mingw32 depends on
      win32-api (= 1.4.8) x86-mingw32

    win32-api (1.5.1)

となる。詰んだ。

妥協策

実は、

bundle exec knife configure

が失敗しても、「Hello, Chef」が成功したので、Gemfileは

gem 'chef'
gem 'win32-api', '~>1.5.1'

でとりあえず大丈夫そう。

備考

ちなみに chef 11.14.0.alpha.2 (x86-mingw32) - Gemnasium を見ると、win32apiが1.5.1になっているので、11.14のリリースを待てば良さそうな感じ

参考にさせていただいたサイト