Help us understand the problem. What is going on with this article?

Ubuntu14.04にNokogiriを導入する

More than 5 years have passed since last update.

rubyを導入する

sudo add-apt-repository -y ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get -y install ruby2.1

この状態で
sudo gem install nokogiri
すると、下記のエラーが出る。

ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

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

extconf failed, exit code 1

よって、解決するために

コンパイルに必要な環境を整える

sudo apt-get install ruby2.1-dev

この状態で
sudo gem install nokogiri
すると、下記のエラーが出る。

ERROR:  Error installing nokogiri:
        ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.1 extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
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:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --curdir
        --ruby=/usr/bin/ruby2.1
        --help
        --clean
        --use-system-libraries
        --enable-static
        --disable-static
        --with-zlib-dir
        --without-zlib-dir
        --with-zlib-include
        --without-zlib-include=${zlib-dir}/include
        --with-zlib-lib
        --without-zlib-lib=${zlib-dir}/lib
        --enable-cross-build
        --disable-cross-build

extconf failed, exit code 1

よって、解決するために

sudo apt-get install zlib1g-dev

とすればよい。最後に

Nokogiriを導入する

sudo gem install nokogiri

として完了。

まとめ

  1. sudo add-apt-repository -y ppa:brightbox/ruby-ng
  2. sudo apt-get update
  3. sudo apt-get -y install ruby2.1 ruby2.1-dev zlib1g-dev
  4. sudo gem install nokogiri
m3dev
インターネット、最新IT技術を活用し日本・世界の医療を改善することを目指します
https://m3.recruitment.jp/engineer/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away