Я прохожу учебник и у меня проблема с rake db: migrate и моим gemfile. Я ЗНАЮ, что есть несколько ответов, и этот вопрос задается (и ответил много) здесь. Но по какой-то причине я либо бегаю кругами, растерянно, либо, может быть, происходит что-то еще, чего я не знаю.
Я попробовал ответ, на который ссылается здесь - где я бежал
bundle exec run rake -T
Это, похоже, не работает.
Затем я попытался последовать совету dhh, указанному здесь , но моя система говорит, что у меня нет файла для удаления. Вот что я сделал:
Z-Kidds-MacBook-Air:demo_app zkidd$ rake --version
rake, version 0.9.2.2
Z-Kidds-MacBook-Air:demo_app zkidd$ gem uninstall rake -v=0.9.2.2
INFO: gem "rake" is not installed
Z-Kidds-MacBook-Air:demo_app zkidd$
В любом случае, вот когда я запускаю трассировку, это показание:
Z-Kidds-MacBook-Air: demo_app zkidd $ rake db: мигрировать --trace
грабли прерваны!
Вы уже активировали рейк 0.9.2.2, но ваш Gemfile требует рейка 0.8.7. Использование bundle exec может решить эту проблему.
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:31:in block in setup'
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:17:in
setup '
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/bundler-1.0.21/lib/bundler.rb:110:in setup'
/Users/zkidd/rails_projects/demo_app/config/boot.rb:8:in
'
/Users/zkidd/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require'
/Users/zkidd/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
require '
/Users/zkidd/rails_projects/demo_app/config/application.rb:1:in <top (required)>'
/Users/zkidd/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
require '
/Users/zkidd/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require'
/Users/zkidd/rails_projects/demo_app/Rakefile:4:in
'
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in load'
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25:in
load_rakefile '
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:501:in raw_load_rakefile'
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:82:in
block в load_rakefile '
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in standard_exception_handling'
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:81:in
load_rakefile '
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:65:in block in run'
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:133:in
standard_exception_handling '
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/application.rb:63:in run'
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/bin/rake:33:in
'
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/bin/rake:19:in load'
/Users/zkidd/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/bin/rake:19:in
'
Я также попытался изменить свой Gemfile, добавив
gem "rake", "0.9.2.2"
Но тогда я получаю это:
Z-Kidds-MacBook-Air: first_app zkidd $ rake db: мигрировать
ВНИМАНИЕ: 'require' rake / rdoctask '' устарела. Пожалуйста, используйте вместо 'require' rdoc / task '(в RDoc 2.4.2+)'.
по адресу /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@global/gems/rake-0.9.2.2/lib/rake/rdoctask.rb
ВНИМАНИЕ: Глобальный доступ к методам Rake DSL не рекомендуется. Пожалуйста, укажите
... Rake :: DSL на классы и модули, которые используют методы Rake DSL.
ВНИМАНИЕ: DSL-метод FirstApp :: Application # задача вызывается в /Users/zkidd/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/gems/railties-3.0.1/lib/rails/application.rb:214: в `initialize_tasks '
Z-Kidds-MacBook-Air: first_app zkidd $
И я бегу:
Рельсы 3.0.1