проблема рейка, которая все еще сохраняется после попытки других предложенных решений - PullRequest
0 голосов
/ 03 января 2012

Я прохожу учебник и у меня проблема с 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

1 Ответ

0 голосов
/ 03 января 2012

В вашем Gemfile установите для rake версию от 0.8.7 до 0.9.2.2:

.
gem "rake", "0.9.2.2"

Затем запустите обновление:

bundle update

Я на самом деле только что решил эту проблему ранее сегодня в одном из моих собственных проектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...