windows & gem で hpricot のインストール
はまったのでメモ
mechanize を入れようとしたら hpricot をインストールするとこでビルドできないっていうエラーがでた。
windowsのrubyでhpricotのインストールエラー - (゚∀゚)o彡 sasata299's blogの方法でもいいんだけど、もうちょっと調査してみた。
なんでエラーになるかっていうと、gem って拡張ライブラリ付きのパッケージの場合、普通その拡張ライブラリをビルドしようとするからみたい。で、windows の場合、拡張ライブラリのバイナリ付きの gem だったら素直に入るんだけど、そうじゃない場合はビルドしようとしてエラーになる。
そこで、どんな gem が用意されてるかを調べてみる。gem コマンドで platform 付きで検索する事はできないから(できる方法ってある?)、http://gems.rubyforge.org/gems/ からこんな感じで hpricot を探すと
$ wget -O - http://gems.rubyforge.org/gems/ | grep -e hpricot | sed -e "s/<[^>]*>/ /g" | awk "{print \$1}" hpricot-0.4-mswin32.gem hpricot-0.4.gem hpricot-0.5-mswin32.gem hpricot-0.5.gem hpricot-0.6-jruby.gem hpricot-0.6-mswin32.gem hpricot-0.6.161-jruby.gem hpricot-0.6.161.gem hpricot-0.6.gem ...
最新の 0.6.161 だと mswin32 用の gem がない。0.6 にはあるから、それをインストールする。
$ gem install -v 0.6 hpricot ...
これでOK。