gem のインストール失敗時に ruby.h がないときは ruby-devel パッケージを

ruby.h が無いと gem のインストールに失敗するようです。
手元の CentOS7 では ruby-devel パッケージに含まれていました。

動作環境

# cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)

問題事象

# gem install nokogiri
Fetching: mini_portile-0.6.2.gem (100%)
Successfully installed mini_portile-0.6.2
Fetching: nokogiri-1.6.5.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

    /usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h


Gem files will remain installed in /usr/local/share/gems/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/share/gems/gems/nokogiri-1.6.5/ext/nokogiri/gem_make.out
# gem install anemone
Building native extensions.  This could take a while...
ERROR:  Error installing anemone:
        ERROR: Failed to build gem native extension.

    /usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /usr/share/include/ruby.h


Gem files will remain installed in /usr/local/share/gems/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/share/gems/gems/nokogiri-1.6.5/ext/nokogiri/gem_make.out

対処方法

yum で ruby-devel パッケージをインストールしてから gem install してください。

# yum install ruby-devel
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp.tsukuba.wide.ad.jp
 * extras: ftp.tsukuba.wide.ad.jp
 * updates: ftp.tsukuba.wide.ad.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ ruby-devel.x86_64 0:2.0.0.353-22.el7_0 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

~(中略)~
Transaction test succeeded
Running transaction
  インストール中          : ruby-devel-2.0.0.353-22.el7_0.x86_64                                                                                                            1/1   検証中                  : ruby-devel-2.0.0.353-22.el7_0.x86_64                                                                                                            1/1 
インストール:
  ruby-devel.x86_64 0:2.0.0.353-22.el7_0                                                                                                                                        
完了しました!

対処後

# gem install nokogiri
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.6.5
Parsing documentation for nokogiri-1.6.5
Installing ri documentation for nokogiri-1.6.5
1 gem installed
# gem install anemone
Fetching: robotex-1.0.0.gem (100%)
Successfully installed robotex-1.0.0
Fetching: anemone-0.7.2.gem (100%)
Successfully installed anemone-0.7.2
Parsing documentation for robotex-1.0.0
Installing ri documentation for robotex-1.0.0
Parsing documentation for anemone-0.7.2
Installing ri documentation for anemone-0.7.2
2 gems installed
スポンサーリンク