2011-10-27 149 views
0

我读了滑轨教程书,在199我必须做出一个耙分贝章第6页:迁移,但我得到这个错误:耙分贝:迁移中止

耙中止! 未定义的方法'先决条件的零:NilClass

(通过运行带有--trace任务查看完整的跟踪)

当我尝试用耙分贝:迁移--trace我收到以下错误:

rake aborted! 
undefined method `prerequisites' for nil:NilClass 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.0.1/lib/rspec/rails/tasks/rspec.rake:3:in `<top (required)>' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.0.1/lib/rspec-rails.rb:10:in `load' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rspec-rails-2.0.1/lib/rspec-rails.rb:10:in `block in <class:Railtie>' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `call' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `block in load_tasks' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `each' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/railtie.rb:183:in `load_tasks' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/engine.rb:396:in `block in load_tasks' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application/railties.rb:8:in `each' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application/railties.rb:8:in `all' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/engine.rb:396:in `load_tasks' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/application.rb:103:in `load_tasks' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/railtie/configurable.rb:30:in `method_missing' 
/Users/jeanosorio/ror/sample_app/Rakefile:7:in `<top (required)>' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in `load_rakefile' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:495:in `raw_load_rakefile' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:78:in `block in load_rakefile' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:77:in `load_rakefile' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:61:in `block in run' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/lib/rake/application.rb:59:in `run' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2/bin/rake:32:in `<top (required)>' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `load' 
/Users/jeanosorio/.rvm/gems/ruby-1.9.2-p290/bin/rake:19:in `<main>' 

我试着更新我的宝石,但我仍然得到最后一个错误。任何人都可以帮助我解决这个问题,请。

+0

第7行的Rakefile中有什么? – fl00r

+0

这是我在第7行的rakefile 7SampleApp :: Application.load_tasks – Jean

回答

0

嘿,我有这个完全相同的问题,我相信这是由于Rails 3.1 changes that the book does not cover。我通过将GEMFILE更改为:

source 'http://rubygems.org' 

gem 'rails', '3.1.0' 

gem 'gravatar_image_tag', '1.0.0.pre2' 
gem 'will_paginate', '3.0.pre2' 
gem 'sqlite3', '1.3.4' 

# Asset template engines 
gem 'sass-rails', "~> 3.1.0.rc" 
gem 'coffee-script' 
gem 'uglifier' 

gem 'jquery-rails' 

group :development do 
    gem 'rspec-rails', '2.6.1' 
    gem 'annotate', '2.4.0' 
    gem 'faker', '0.3.1' 
end 
group :test do 
    gem 'rspec-rails', '2.6.1' 
    gem 'webrat', '0.7.1' 
    gem 'spork', '0.9.0.rc5' 
    gem 'factory_girl_rails', '1.0' 
end 

将其复制并粘贴到当前的GEMFILE上。接下来在你的终端里运行这个命令

bundle install 

现在你很好走!