libxml2/libxsltのインストール for nokogiri on CentOS

Ruby on Rails CentOS Ruby
by ゆ〜ぎり @

CentOSにlibxml2/libxsltをインストールする手順のメモ。nokogiriのインストールエラー対策。

前提

問題

CentOSのRuby on Rails環境でbundle installすると,nokogiriのインストールで次のエラーが出る。

libxml2 is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
libxslt is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.

依存しているlibxml2やlibxsltがインストールされていないのが原因。

目標

  • libxml2/libxsltをインストールし,改めてnokogiriをインストールする。

環境

手順

  1. libxml2のインストール
  2. libxsltのインストール
  3. nokogiriのインストール

libxml2のインストール

  1. yumからlibxml2をインストールする。
    $ sudo yum --enablerepo=epel,remi,rpmforge install libxml2 libxml2-devel
  2. インストールされたlibxml2のバージョンを確認する。
    $ xml2-config --version
    2.7.6

libxsltのインストール

  1. yumからlibxsltをインストールする。
    $ sudo yum --enablerepo=epel,remi,rpmforge install libxslt libxslt-devel
  2. インストールされたlibxsltのバージョンを確認する。
    $ xslt-config --version
    1.1.26

nokogiriのインストール

  1. Railsアプリケーションのルートディレクトリへ移動する。
  2. RubyGemsでnokogiriをインストールする。
    $ gem install nokogiri
  3. インストールされたnokogiriのバージョンを確認する。
    $ nokogiri -v
    # Nokogiri (1.6.0)
        ---
        warnings: []
        nokogiri: 1.6.0
        ruby:
          version: 2.0.0
          platform: x86_64-linux
          description: ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
          engine: ruby
        libxml:
          binding: extension
          source: packaged
          libxml2_path: "/usr/local/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.0/ports/x86_64-redhat-linux/libxml2/2.8.0"
          libxslt_path: "/usr/local/rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.0/ports/x86_64-redhat-linux/libxslt/1.1.26"
          compiled: 2.8.0
          loaded: 2.8.0
    libxml2のバージョンが2.7.6ではなく2.8.0のようだが気にしないことにする。
  4. bundle installでエラーが出なくなっていることを確認する。
    $ bundle install

TOP