誤ったバージョンのラック(one with a bug)を使用しているため、My Rails 2.3.xアプリケーションが失敗しています。私のシステムには、2つのバージョンのRackがあります。これはapt-get
を介してインストールされたベンダー版(正しいバージョン)とシステム版です。Rubyが私のRailsアプリケーションに含まれているRackの宝石を使用していることを、どうすれば保証できますか?
なぜ間違ったバージョンを使用していますか?これは特に、販売されているバージョンがコールスタックの早期で正しく使用されているために私を困惑させています。そして、私はそれが正しいバージョンを使用するようにすることができますか?
はここでアプリケーションが失敗したときに、私は取得していますスタックトレースからの抜粋です:
/usr/lib/ruby/vendor_ruby/rack/utils.rb:202:in `set_cookie_header!'
/home/alaveteli/vendor/gems/rack-1.1.0/lib/rack/response.rb:57:in `set_cookie'
/home/alaveteli/vendor/rails/actionpack/lib/action_controller/response.rb:181:in `set_cookie'
注vendoredラックを使用している2行目が、1行目は、システムのラックを使用しています。 (ラインはresponse.rb
の57は、このように、ラックからモジュールを呼び出します。Utils.set_cookie_header!(header, key, value)
)
私$LOAD_PATH
私はvendored宝石は、システムのものの前に来て、それがあるべきと考えているようです。
はい、すぐにBundlerを使用するように移行する予定です。
おそらくapt-getでインストールしたものをアンインストールしてみてください。 – Batkins
これはこのシステムのオプションではありません。とにかく、私のベンダー版が動作しない理由を理解したいので、私のソフトウェアがどこでも動作するようにすることができます。 – seb