nokogiriのビルド中にエラー
$sudo gem install rails --version="4.2.2"
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: activesupport-4.2.2.gem (100%)
Successfully installed activesupport-4.2.2
Fetching: rack-1.6.4.gem (100%)
Successfully installed rack-1.6.4
Fetching: rack-test-0.6.3.gem (100%)
Successfully installed rack-test-0.6.3
Fetching: mini_portile2-2.1.0.gem (100%)
Successfully installed mini_portile2-2.1.0
Fetching: pkg-config-1.1.7.gem (100%)
Successfully installed pkg-config-1.1.7
Fetching: nokogiri-1.6.8.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing rails:
ERROR: Failed to build gem native extension.
current directory: /var/lib/gems/2.3.0/gems/nokogiri-1.6.8/ext/nokogiri
/usr/bin/ruby2.3 -r ./siteconf20160928-37664-h6uxpl.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /var/lib/gems/2.3.0/gems/nokogiri-1.6.8 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/nokogiri-1.6.8/gem_make.out
railsのインストールを妨げるのはnokogiriと相場が決まっています。前もそうだった気がします。
いくつかのブログを見て対処法を試してみましたが、うまくいきませんでした。
結論
nokogiriの公式ドキュメントを見ると、
トラブルシューティング Ubuntuでのインストール(英語)
Ubuntuまたはdebianでのインストールは、Nokogiriが開発しているlibxml2
とlibxslt
を利用します。
gem install nokogiri
問題が起こったら、最初にCの拡張をコンパイルするために必要なツールが全てインストールされていることを確認してください。
sudo apt-get install build-essential patch
重要となる開発用ヘッダーファイルは、自分のシステム上に持たなくても大丈夫です。(これは私の個人開発で起こったことはありませんが、優れた会社やRubyの開発者までもが経験したことがあるようです)
それでも問題があるときは、以下のようにして解決してください。
sudo apt-get install ruby-dev zlib1g-dev liblzma-dev
これでうまくいかないようでしたら、バグとして報告してください。(詳しくはこちら)
(2つ目のコマンドの後、再びgem install rails
したら動きました。公式ドキュメントを読むべきですね。)