chefでruby-shadowのエラーが発生した場合の対処法
ユーザアカウント追加のレシピを適用した際にruby-shadowの部分で以下のようなエラーが発生しました。
[2014-08-29T19:16:10+09:00] ERROR: gem_package[ruby-shadow] (user::default line 10) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of /usr/bin/gem install ruby-shadow -q --no-rdoc --no-ri -v "2.3.4" ----
STDOUT: Building native extensions. This could take a while...
STDERR: ERROR: Error installing ruby-shadow:
ERROR: Failed to build gem native extension.
/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/ruby.h
レシピ内には
gem_package "ruby-shadow" do
action :install
end
と書いていたのですが、gem_packageだとsystemのgemとして入ってしまうためうまくいかないようです。
chefのgemとして入れるようにchef_gemとして指定した場合はうまく動きました。
chef_gem "ruby-shadow" do
action :install
end