2010-11-08 53 views
3

我正在升級我的工作軌2.3.8應用程序,但我得到了一個奇怪的錯誤。Rails 2.3.10錯誤

/Users/davide/.rvm/gems/[email protected]/gems/rails-2.3.10/lib/rails/vendor_gem_source_index.rb:76:in `block in refresh!': undefined method `[]' for nil:NilClass (NoMethodError) 
     from /Users/davide/.rvm/gems/[email protected]/gems/rails-2.3.10/lib/rails/vendor_gem_source_index.rb:45:in `each' 
     from /Users/davide/.rvm/gems/[email protected]/gems/rails-2.3.10/lib/rails/vendor_gem_source_index.rb:45:in `refresh!' 
     from /Users/davide/.rvm/gems/[email protected]/gems/rails-2.3.10/lib/rails/vendor_gem_source_index.rb:29:in `initialize' 
     from /Users/davide/.rvm/gems/[email protected]/gems/rails-2.3.10/lib/rails/gem_dependency.rb:21:in `new' 
     from /Users/davide/.rvm/gems/[email protected]/gems/rails-2.3.10/lib/rails/gem_dependency.rb:21:in `add_frozen_gem_path' 
     from /Users/davide/.rvm/gems/[email protected]/gems/rails-2.3.10/lib/initializer.rb:298:in `add_gem_load_paths' 
     from /Users/davide/.rvm/gems/[email protected]/gems/rails-2.3.10/lib/initializer.rb:132:in `process' 
     from /Users/davide/.rvm/gems/[email protected]/gems/rails-2.3.10/lib/initializer.rb:113:in `run' 
     from /Users/davide/Code/giardinilucrezia/config/environment.rb:12:in `<top (required)>' 
     from /Users/davide/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/irb/init.rb:281:in `require' 
     from /Users/davide/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/irb/init.rb:281:in `block in load_modules' 
     from /Users/davide/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/irb/init.rb:279:in `each' 
     from /Users/davide/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/irb/init.rb:279:in `load_modules' 
     from /Users/davide/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/irb/init.rb:20:in `setup' 
     from /Users/davide/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/irb.rb:53:in `start' 
     from /Users/davide/.rvm/rubies/ruby-1.9.2-p0/bin/irb:17:in `<main>' 

使用rails 2.3.8完全沒有問題。 和堆棧跟蹤不能幫助我。 有什麼想法?

我使用的是Ruby 1.9.2,rails 2.3.10和bundler。

THX

回答

0

它可能有助於知道什麼是對的config/environment.rb文件的第12行,並命令你試圖運行。可能是腳本/控制檯或類似的。

+0

12行是Rails :: Initializer.run do | config |並且該命令是腳本/控制檯 – 2010-11-08 21:29:29

+1

查看rails-2.3.10/lib/rails/vendor_gem_source_index.rb:76我會懷疑在供應商目錄中有某種「邊緣」導軌或gem。尋找供應商/鐵軌或供應商/寶石/ * – noodl 2010-11-09 10:11:51

1

我看起來像this rails bug是相關的。它的缺點是,cvs和svn目錄存在問題。
猴子補丁,將它添加到配置/ preinitializer.rb

gem 'rails' 
require 'initializer' 

module Rails 
    class VendorGemSourceIndex 

    def version_for_dir(d) 
     version = d.split('-').find { |s| s.match(/^\d(\.\d|\.\w+)*$/) } 
     Gem::Version.new(version) if version 
    end 

    end 
end 
+0

現在移到這裏https://github.com/rails/rails/issues/972 – Anna 2011-10-10 15:39:24

0

也有類似的問題,它竟然是在vendor/gems目錄下的文件夾_svn

如果是這種情況,現在只需將其重命名爲.svn即可。如果您需要從SVN進行更新,您需要將其重命名爲_svn