耙子中止!nil:NilClass 的未定义方法“先决条件" [英] rake aborted! undefined method `prerequisites' for nil:NilClass

查看:38
本文介绍了耙子中止!nil:NilClass 的未定义方法“先决条件"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

剧透:这是 rspec-rails gem 的过时版本!

Spoiler: It was an outdated version of the rspec-rails gem!

在将我的 sqlite3 gem 移动到开发块然后运行rake db:migrate"以确保一切仍然正常后,我遇到了从我的 rails 项目目录发出的任何 rake 命令的错误.Rake 在我系统的其他地方运行良好.但是我在该目录中运行的任何 rake 任务都会为我提供以下带有跟踪的输出:

I encountered this error with any rake command issued from my rails project directory after moving my sqlite3 gem into a development block and then running 'rake db:migrate' to make sure everything still worked. Rake works fine elsewhere on my system. But any rake task I run in that directory gives me the following output with the trace:

/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>'

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

The first error I got was the question title: rake aborted! undefined method `prerequisites' for nil:NilClass

我也遇到了这个问题,但它并没有给我带来问题.也许它是相关的?:

I've also been getting this, but it hasn't been causing me problems. Perhaps it's relevant?:

弃用警告:Rails::Railtie 中的 config.generators 已弃用.请改用 config.app_generators.(从/Users/ianyoung/rails/third_app/config/application.rb:13 调用)弃用警告:不推荐使用 Rails::Railtie 中的 config.generators.请改用 config.app_generators.(从/Users/ianyoung/rails/third_app/config/application.rb:13 调用)

DEPRECATION WARNING: config.generators in Rails::Railtie is deprecated. Please use config.app_generators instead. (called from at /Users/ianyoung/rails/third_app/config/application.rb:13) DEPRECATION WARNING: config.generators in Rails::Railtie is deprecated. Please use config.app_generators instead. (called from at /Users/ianyoung/rails/third_app/config/application.rb:13)

推荐答案

更新到最新的 rspec-rails gem 让我摆脱了这个问题和弃用警告.

Updating to the latest rspec-rails gem relieved me of this problem and of the deprecation warnings.

安装最新的 webrat gem 解决了缺失的 has_selector?出于某种原因,我认为方法问题比我过时的 rspec-rails gem 更邪恶.一切都很好.

Installing the latest webrat gem solved the missing has_selector? method problem that I had for some reason thought was a greater evil than my outdated rspec-rails gem. And all is well.

感谢您的有益评论.

这篇关于耙子中止!nil:NilClass 的未定义方法“先决条件"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆