chefでruby-shadowのエラーが発生した場合の対処法


[まとめ] 現在開催中のKindleセール情報はこちら

ユーザアカウント追加のレシピを適用した際に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

参考

[まとめ] 現在開催中のKindleセール情報はこちら