Я работаю с учебником Ruby on Rails 3 и набираю в командной строке следующее:
rake db:migrate
что привело к следующему предупреждению.
WARNING: Global access to Rake DSL methods is deprecated. Please Include
... Rake::DSL into classes and modules which use the Rake DSL methods.
WARNING: DSL method DemoApp::Application#task called at /Users/imac/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/railties-3.0.7/lib/rails/application.rb:215:in `initialize_tasks'
Я не знаю, что с этим делать и как с этим работать. Я не знаю другой команды для Rake.
Как я могу исправить эту проблему?
gem uninstall rake -v=0.9.1
. Моя ошибка в том, что я не прояснил это. Спасибо за разъяснение Антонио! Ура, БрайанДобавление
include Rake::DSL
в Rakefile до вызова приложений load_tasks также сработало.Таким образом, в случае вышеупомянутого пользователя перед
DemoApp::Application.load_tasks
файлом Rakefile.источник
У меня была такая же проблема в Windows с установщиком. Ruby 1.9.2 и Rails 3.0.9. Вот что я сделал:
После этого я запустил rake 0.9.2.
Затем я обновил Rakefile в корневой папке приложения следующим образом:
require File.expand_path('../config/application', __FILE__) require 'rake' # If you named your application something other than SampleApp, change that below module ::SampleApp class Application include Rake::DSL end end module ::RakeFileUtils extend Rake::FileUtilsExt end SampleApp::Application.load_tasks
Как отмечено в комментарии, убедитесь, что имя вашего приложения правильное в двух соответствующих строках выше.
источник
heroku rake db:migrate
команду работать, мне также пришлось добавитьrequire 'rake/dsl_definition'
в rakefile (над строкой require 'rake').Если вы видите это в более поздних версиях Rails (например, 3. +), вы также можете проверить, чиста ли ваша среда, используя RVM http://beginrescueend.com/ и создав определенные ruby и gemset для ваших проектов.
Используйте файл .rvmrc для каждого проекта, это гарантирует, что вы не добавите старые системные гемы в свои проекты. Которая укусила меня раньше.
Это избавляет от необходимости копаться с сгенерированными Rakefiles и т.п.
источник
bundle exec rake db: migrate решит проблемы с вашей версией ruby
источник