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のリリースを待てば良さそうな感じ