Debian GNU/Linux 5.0 上で rubygems を使い、rails 2.3.8 をインストールして使おうとしたところ、標準の Mongrel サーバでは起動できるが、thin や unicorn の gem を入れて、thin コマンドや unicorn_rails コマンドで起動するとエラーしてしまう。

エラー内容は「rails 2.3.8」の読み込みエラーと出ている。

One Comment

  1. fumiu says:

    コードを追いかけたところ、rack のロードで失敗していた模様。
    要求バージョンが「~> 1.1.0」となっており、rack 自体は 1.2.1 と 1.1.0 が gem で導入されていた。

    どうやら「~>」演算子は指定バージョンより大きくて、かつ最終桁のみ異なるものを要求するらしく、1.1.0 では大きくなく、1.2.0 では2桁目が違うのでダメとなっていた。

    とりあえず gems/actionpack-2.3.8/lib/action_controller.rb 中と specifications/actionpack-2.3.8.gemspec 中の「~> 1.1.0」の部分を「~> 1.1」と修正したところ、無事に動作するようになった。

Leave a Reply