2011-10-27 211 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 

現在你很好走!