My Rails 2.3.x應用程序失敗,因爲它使用錯誤版本的Rack(one with a bug)。我的系統上有兩個機架版本,一個是自動售貨機(正確版本)和一個系統版本,通過apt-get
安裝。我如何確保Ruby使用在我的Rails應用程序中進行銷售的Rack Gem?
爲什麼使用錯誤的版本?這讓我感到特別困惑,因爲早期在調用堆棧中正確地使用了售貨版本。我怎樣才能讓它使用正確的版本?
這裏是從堆棧跟蹤,當應用程序失敗我得到的摘錄:
/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 2012-02-14 14:43:22
這不是一個在這個系統上的選項 - 無論如何,我想了解爲什麼我的售貨版本無法正常工作,所以我可以確保我的軟件可以在任何地方工作。 – seb 2012-02-15 08:12:01