[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 を追加する
こんな風に yum で epel-release.noarch ってパッケージを CentOS にインストールしてやると、
/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 にインストールします
オレの環境ではこれで Nokogiri が使えるようになったで!!CentOS で Nokogiri のインストールで困ったらお試しあれ。
Ubuntu 系は apt-get install で一発でインストールできるみたいだよ。確認してないけど。
おしまい。