読者です 読者をやめる 読者になる 読者になる

inohilog

/var/log/inohiro

どうしたら良いのかよくわからないエラーメッセージ

  • Rails 2.3.5 なアプリケーションの立ち上げ時にエラー
  • gem の依存関係の問題なんだろうけど、ぐたいてきにどうしたらいいのかよくわからない
Gem::LoadError (can't activate rack (>= 1.1.0, < 2, runtime) for ["faraday-0.7.4", "twitter-1.7.1"], already activated rack-1.0.1 for ["actionpack-2.3.5", "rails-2.3.5"]):
  • ちゃんと動いてる環境と同じバージョンの rack をインストールしたが、改善しない
  • オワコンなRails2を使うなということですね、わかります

bundler 導入してみたら分かった気がする

  • (bundler ってRails3からだと思っていたんですが、2でも使えたんですね: http://gembundler.com/rails23.html
  • おそらく不可能な組み合わせをやろうとしているんだと思う
    • "twitter (ver. 1.7.1) は、rack の ver. 1.1.0 以上が必要なんだけど、rails (ver. 2.3.5) は rack が 1.0.1 でないと動かない"
$ script/server -p 4000
/opt/ruby-enterprise-1.8.7-2010.01/lib/ruby/gems/1.8/gems/bundler-1.0.18/lib/bundler/resolver.rb:129:in `resolve': Bundler could not find compatible versions for gem "rack": (Bundler::VersionConflict)
  In Gemfile:
    twitter (= 1.7.1) depends on
      rack (>= 1.1.0, < 2)

    rails (= 2.3.5) depends on
      rack (1.0.1)
...
  • rails 2.3.11 にしたら問題なく動いた