本ブログでは過去にWindowsでnokogiriを使う方法を紹介していました。
以前は真面目にインストールしようとして何度も苦労させられたので、もう今回は付き合ってられるかってことで、Vimを使って無理矢理使えるようにしちゃいましょう。現時点で最新のnokogiri 1.6.6.3にはruby 2.0と2.1のプリコンパイルバイナリが含まれています。この2.1のやつを書き換えます。
使ってるruby 2.2はRubyIntallerのもので、devkitはインストール&セットアップ済みです。
まずは、普通にnokogiriをインストールしましょう。
gem install nokogiri
次にrubyのインストールディレクトリ(私の場合はD:\Ruby\ruby-2.2.3-x64-mingw32
)を開きましょう。そこから順番に以下のフォルダを開いていきます。32bit版を使ってる場合は微妙にフォルダ名が異なるはずなので、適宜読み替えましょう。
lib\ruby\gems\2.2.0\gems\nokogiri-1.6.6.3-x64-mingw32\lib\nokogiri
ここに2.1
というフォルダがあるはずです。これをコピーして2.2
という名前に書き換えます。
そして2.2
フォルダの中のnokogiri.so
をVimで開きます。これはバイナリファイルですからグチャグチャに表示されますが、慌てずにバイナリモードに切り替えましょう。
:e ++bin
そしてruby210.dll
という文字列を探しだし、これをruby220.dll
に書き換えます。
:%s/ruby210\.dll/ruby220.dll
いや該当箇所は1箇所しかありませんから、こんな面倒なことしないで/210<CR>
してR220<ESC>
で十分です。
あとは :wq
で保存して終了です。これだけでWindowsのruby 2.2でnokogiriが使えてしまいます。まぁ、いつまで有効な方法かはわかりませんが…
動けばよかろうなのだ。