Debian GNU/Linux 5.0 上で rubygems を使い、rails 2.3.8 をインストールして使おうとしたところ、標準の Mongrel サーバでは起動できるが、thin や unicorn の gem を入れて、thin コマンドや unicorn_rails コマンドで起動するとエラーしてしまう。
エラー内容は「rails 2.3.8」の読み込みエラーと出ている。
プログラミングその他に関する質問と回答
Debian GNU/Linux 5.0 上で rubygems を使い、rails 2.3.8 をインストールして使おうとしたところ、標準の Mongrel サーバでは起動できるが、thin や unicorn の gem を入れて、thin コマンドや unicorn_rails コマンドで起動するとエラーしてしまう。
エラー内容は「rails 2.3.8」の読み込みエラーと出ている。
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」と修正したところ、無事に動作するようになった。
2010年7月22日, 5:57 PM