2011-10-31 13 views
2

我跑bundle install,它很成功。然而,當我跑ruby script/server,我得到了很多的消息在服務器真正開始:我該如何解決寶石貶損問題?

NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. 
Gem::SourceIndex#add_spec called from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:127. 

NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. 
Gem::SourceIndex#add_spec called from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:127. 

NOTE: Gem::SourceIndex#add_spec is deprecated, use Specification.add_spec. It will be removed on or after 2011-11-01. 
Gem::SourceIndex#add_spec called from /usr/local/lib/site_ruby/1.8/rubygems/source_index.rb:127. 

我該如何解決這個問題?

回答

1

看起來像是在rubygems本身的棄用。

只需在控制檯中運行它來更新它:

gem update --system 
+0

嘗試更新時得到此錯誤更新rubygems-update 錯誤:執行gem時(Gem :: RemoteFetcher :: FetchError) Errno :: ETIMEDOUT:連接超時 - 連接(2 )(http://rubygems.org/gems/rubygems-update-1.8.11.gem) –

+0

你使用rvm嗎?你嘗試'sudo寶石更新 - 系統' – apneadiving

+0

雅我試過sudo寶石更新 - 系統,但多數民衆贊成,當我得到這個錯誤..我沒有使用RVM,我認爲問題是與寶石源服務器..可能是IL必須給一些其他來源!不知道這是否會工作 –

0

沒有人會喜歡這個,但到目前爲止,它爲我工作。
版本:
紅寶石-v#=>紅寶石1.8.7(2012-02-08 PATCHLEVEL 358)[萬向darwin11.0]
導軌-v#=>的Rails 2.3.5
寶石-v# => 25年1月8日

的修復:
須藤六/Library/Ruby/Site/1.8/rubygems/source_index.rb
(該文件可能位於其他地方你的系統上,看了你的錯誤信息,它告訴你在哪裏)

把127行改爲:
add_spec gemspec if gemspec
發送至:
Gem :: Specification.add_spec gemspec if gemspec

ruby​​gems現在將使用非折舊方法,並且警告應該消失。

警告威爾羅賓遜:我是一名牛仔編碼員,不知道這可能會產生什麼副作用,但到目前爲止它對我來說確實很好。看來,source_index.rb文件不是rubygems github存儲庫的一部分,所以我猜測它是由其他進程創建的。我聽說如果你使用的是軌道3,這就消失了。 ::聳肩::

+0

經過多一點Google搜索後,我懷疑這個問題來自Mac上預裝的系統rubygems。 http://opensource.apple.com/source/RubyGems/RubyGems-17/rubygems/lib/rubygems/source_index.rb它可能會卸載rubygems在一起,然後從github上的rubygems源重新安裝可能會解決這個問題。儘管我現在無法冒險嘗試我的開發環境。 – nelsonenzo