ruby-1.8.5でmechanizeを使う

ruby-1.8.5の環境で、gem install mechanizeって、1.0.0を入れて、動かそうとすると、以下のようなエラーがでて動かない。


/.gem/ruby/1.8/gems/mechanize-1.0.0/lib/mechanize/chain/ssl_resolver.rb:19:in `handle': undefined method `instance_variable_defined?' for #<Net::HTTP example.jp:80 open=false> (NoMethodError)

これを解消するには、ssl_resolver.rbとか見るのではなく、mechanize-0.9.1を利用する。
mechanize-0.9.1を利用するには、


gem install mechanize --version "= 0.9.1"

のようにして、0.9.1のmechanizeをインストールする。
そして、コード中に以下のように記述する。


require 'rubygems'
gem "mechanize", "0.9.1"
require 'mechanize'

こうする事で、rubyさんが明示的に0.9.1を使ってくれるようになる。この2行目の指定をはずすと1.0.0を使ってくれる。

よくできてるなー。

本当はいつまでも古いrubyを使うCentOSになんとかしてもらいたかったんだが。Ubuntuさんならこんな面倒な事しなくてすむのに。

投稿者: halt

PHPプログラマ。

コメントを残す

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

ねこ認証:9つのパネルの中からねこを3匹選んでください