本ブログでは過去に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が使えてしまいます。まぁ、いつまで有効な方法かはわかりませんが…
動けばよかろうなのだ。
