2010-11-30 29 views
1

我有一個使用gem的rails 2.3.9應用程序,當我在本地運行時工作得很好。但是當我嘗試將我的應用推送到heroku時,它斷言說該寶石激活了activesupport 3.0.3,並且我的heroku應用無法運行activesupport 2.3.9,因爲3.0.3已經激活...我已經卸載了activesupport 3.0.3在本地,並且重新安裝了gem,但在heroku中仍然不起作用。使用錯誤的有效支持版本(3.0.3)的Gem,在部署到Heroku時應該使用2.3.9

  1. 已激活support3.0.3真正卸載(sudo gem uninstall activesupport -v 3.0.3)?
  2. 爲什麼gem在我的本地環境中工作而不是heroku?
  3. 推送到heroku(git push heroku master)並讀取.gem文件時,爲什麼當它開始安裝gem時,它仍然繼續在heroku上安裝activesupport 3.0.3?

我Heroku的日誌:

==> DYNO-3352306.log(崩潰)< == /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems.rb:233:在`activate'中:無法爲[「rails-2.3.9」]激活activesupport(= 2.3.9,運行時),已經爲[「THISGEM-1.2.3」]激活activesupport-3.0.3(Gem :: LoadError)

有人能給我一些指導嗎?您的幫助非常感謝!

.gems

rails --version 2.3.9 
will_pagnate --version x.x.x 
THISGEMTHATDEPENDSONACTIVESUPPORT&HPRICOT--version 1.2.3 --ignore-dependencies 
hpricot --version x.x.x 
+0

你在使用Bundler嗎?如果沒有,你有.gems文件嗎? – 2010-11-30 13:30:31

回答

0

嘗試的Gemfile捆綁方法,以及具有上我在本地和部署will_pagnate休息後,我看了一下.gems清單一次。這一次它工作!我不知道我改變了什麼,但是我認爲你列出你的寶石的順序很重要。「HPRICRICHDEPENDSONACTIVESUPPORT &」需要在hpricot之後進行。這樣當heroku讀取gems文件時,它將在安裝「THISGEMTHATDEPENDSONACTIVESUPPORT & HPRICOT」之前安裝依賴關係。我的最終.gems文件看起來像這樣,它的工作!有人可以證實這是事實嗎?令人驚訝的是,我被困在這裏2天,只是爲了找出它列出你的寶石的順序。

rails --version 2.3.9 
will_pagnate --version x.x.x 
hpricot --version x.x.x 
THISGEMTHATDEPENDSONACTIVESUPPORT&HPRICOT--version 1.2.3 --ignore-dependencies 
相關問題