[CentOS 7] Ruby の Nokogiri をインストールする超簡単な方法

Web スクレイピング用に Ruby の Nokogiri をインストールしようとしたところ、どうやら Nokogiri のインストールはクセモノらしいことがわかってきた。

いろんなブログであれこれ書かれていますが、細かいことは抜きにして CentOS 7 + Ruby に Nokogiri をインストールする簡単な方法が知りたい!という場合にピッタリの方法を書いておこうと思います。

その方法は、

  • yum のレポジトリに EPEL を追加する
  • yum で Nokogiri をインストールする

という方法です。

レポジトリって何?EPEL って何?を理解しなくてもたぶんインストールできちゃいますので、手っ取り早く Nokogiri をインストールしたい方はこれらの用語のことは無視してください。

——— ここから、すこし話がそれますが

Nokogiri のインストールでトラブった時にどうする?的なブログ記事等をいろいろ拝見すると、開発ツール系のライブラリー

  • libxml2-devel.x86_64
  • libxslt-devel.x86_64
  • rubygem-bundler.noarch
  • ruby-devel.x86_64

をインストールして、なんて書いてる人が多いから

$ sudo yum install libxml2-devel.x86_64
$ sudo yum install libxslt-devel.x86_64
$ sudo yum install rubygem-bundler.noarch
$ sudo yum install ruby-devel.x86_64

を実行して CentOS にいろいろ追加でインストールしちゃいました。

で、Nokogiri をインストールするときのオプションに –use-system-libraries をつけて

$ bundle config build.nokogiri –use-system-libraries
$ bundle install
の2つを実行して Nokogiri をインストールしちゃいましょう!ってノリのページが多かったです。

おいおい、正直にその通りやったけどそれでもエラー出るけどなんでやねん?というのが僕のぶつかった問題でした。

———- 話がそれるのここまで。

ま、そんなこんながあって結局のところ手っ取り早い解決策はさっき書いた

  • yum のレポジトリに EPEL を追加する
  • yum で Nokogiri をインストールする

の2つですのでそれについて書いていきます。

yum のレポジトリに EPEL を追加する

$ sudo yum install epel-release.noarch

こんな風に yum で epel-release.noarch ってパッケージを CentOS にインストールしてやると、

$ pwd
/etc/yum.repos.d
$ ls -l epel*
-rw-r–r–. 1 root root 1056 11月 26 2014 epel-testing.repo
-rw-r–r–. 1 root root 957 11月 26 2014 epel.repo
$

/etc/yum/repos.d に EPEL が追加されます。

でもって、

yum で Nokogiri を CentOS にインストールします

$ sudo yum install rubygem-nokogiri.x86_64

オレの環境ではこれで Nokogiri が使えるようになったで!!CentOS で Nokogiri のインストールで困ったらお試しあれ。

Ubuntu 系は apt-get install で一発でインストールできるみたいだよ。確認してないけど。

おしまい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください