2012-02-14 62 views
0

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。

+0

也許嘗試卸載通過apt-get安裝的那個? – Batkins 2012-02-14 14:43:22

+0

這不是一個在這個系統上的選項 - 無論如何,我想了解爲什麼我的售貨版本無法正常工作,所以我可以確保我的軟件可以在任何地方工作。 – seb 2012-02-15 08:12:01

回答

0

嘗試使用rbenv和ruby-build。這是一個理智的ruby版本管理系統(不像rvm是瘋狂的)。你會得到每個文件夾的紅寶石版本,所有的寶石。當我遇到問題時,我通常會在開發郵件列表上詢問他們。我運行羅馬尼亞阿拉維特利。

相關問題