2012-01-13 39 views
3

剧透:这是rspec-rails宝石过时的版本! “:迁移耙分贝”,以确保一切仍然工作rake中止!未定义的方法'先决条件的零:NilClass

我感动我的sqlite3的宝石成开发区块,然后运行后,遇到这个错误与我的Rails项目目录发出任何rake命令。 Rake在我系统的其他地方工作正常。但是,任何耙的任务,我在该目录中运行给我下面的输出与跟踪:

/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.0.0.beta.18/lib/rspec/rails/tasks/rspec.rake:3:in `<top (required)>' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.0.0.beta.18/lib/rspec-rails.rb:8:in `load' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.0.0.beta.18/lib/rspec-rails.rb:8:in `block in <class:Railtie>' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/railtie.rb:183:in `call' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/railtie.rb:183:in `block in load_tasks' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/railtie.rb:183:in `each' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/railtie.rb:183:in `load_tasks' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/engine.rb:396:in `block in load_tasks' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/application/railties.rb:8:in `each' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/application/railties.rb:8:in `all' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/engine.rb:396:in `load_tasks' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/application.rb:103:in `load_tasks' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.3/lib/rails/railtie/configurable.rb:30:in `method_missing' 
/Users/ianyoung/rails/third_app/Rakefile:7:in `<top (required)>' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in `load_rakefile' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:501:in `raw_load_rakefile' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:82:in `block in load_rakefile' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:81:in `load_rakefile' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:65:in `block in run' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `load' 
/Users/ianyoung/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `<main>' 

我得到的第一个错误是问题的标题: 耙中止!未定义的方法'先决条件的零:NilClass

我也一直得到这个,但它尚未引起我的问​​题。也许它是相关的吗?:

退化警告:在Rails :: Railtie中的config.generators已被弃用。请改用config.app_generators。 (从/Users/ianyoung/rails/third_app/config/application.rb:13调用) 弃用警告:在Rails的config.generators :: Railtie已被弃用。请改用config.app_generators。 (从/Users/ianyoung/rails/third_app/config/application.rb:13调用)

+1

为什么你使用rspec-rails的旧版本? – 2012-01-13 23:05:48

+0

这是rspec-rails的一个非常旧的版本,很可能会被更新版本的rake破坏。我会尝试首先更新rspec-rails – 2012-01-13 23:07:06

+0

你更新了Rubygems吗? – eveevans 2012-01-13 23:08:26

回答

3

更新到最新的RSpec的护栏宝石消除了我这个问题,并弃用警告。

安装最新webrat宝石解决失踪has_selector?方法问题,因为某种原因,我认为这是比我过时的rspec-rails gem更大的罪恶。一切都很好。

谢谢你的有用的意见。

相关问题