CentOS 7.x で nokogiri インストール時の zlib is missing; necessary for building libxml2 対処!

zlib is missing; necessary for building libxml2 とのログ出力内容から、zlib 関連のライブラリや libxml2 が利用できないのであろうと想定がつきますが、zlib がインストールされていても発生するので zlib 以外にも必要なパッケージをインストールしておく必要があります。


# gem install nokogiri
Fetching: mini_portile2-2.0.0.gem (100%)
Successfully installed mini_portile2-2.0.0
Fetching: nokogiri-1.6.7.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
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
Using mini_portile version 2.0.0
checking for gzdopen() in -lz... no
zlib is missing; necessary for building libxml2
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:

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


CentOS 7.x では、zlib-devel パッケージが入っていないと上記のようなエラーとなるようです。
必要となるパッケージをインストールしてから gem install nokogiri するとうまくいくはずです。

# yum install zlib zlib-devel libxml2 -y


# gem install nokogiri
Successfully installed nokogiri-1.6.7ld take a while...
Parsing documentation for nokogiri-1.6.7
Installing ri documentation for nokogiri-1.6.7
1 gem installed