Ich arbeite mich durch das Ruby on Rails 3-Tutorial und habe Folgendes in die Befehlszeile eingegeben:
rake db:migrate
was die folgende Warnung erzeugte.
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'
Ich bin mir nicht sicher, was ich dagegen tun oder wie ich damit arbeiten soll. Ich kenne keinen anderen Befehl für Rake.
Wie kann ich dieses Problem beheben?
gem uninstall rake -v=0.9.1
. Mein Fehler, es nicht klar zu machen. Danke für die Klarstellung Antonio! Prost, BrianDas Hinzufügen
include Rake::DSL
zum Rakefile vor dem Aufruf der Anwendungen load_tasks hat auch bei mir funktioniert.Also im obigen Benutzerfall vor dem
DemoApp::Application.load_tasks
im Rakefile.quelle
Ich hatte das gleiche Problem unter Windows mit dem Installationsprogramm. Ruby 1.9.2 und Rails 3.0.9. Folgendes habe ich getan:
Danach habe ich Rake 0.9.2 ausgeführt.
Dann habe ich das Rakefile im Anwendungsstammordner wie folgt aktualisiert:
Stellen Sie, wie im Kommentar angegeben, sicher, dass der Name Ihrer App in den beiden entsprechenden Zeilen oben korrekt ist.
quelle
heroku rake db:migrate
Befehl funktioniert, musste ich auch dierequire 'rake/dsl_definition'
Rake-Datei hinzufügen (über der erforderlichen 'Rake'-Zeile).Wenn Sie dies in späteren Versionen von Rails (wie 3. +) sehen, möchten Sie möglicherweise auch überprüfen, ob Ihre Umgebung sauber ist, indem Sie RVM http://beginrescueend.com/ verwenden und ein bestimmtes Ruby & Gemset für Ihre Projekte erstellen.
Verwenden Sie pro Projekt eine .rvmrc-Datei. Dies garantiert, dass Sie keine älteren Systemedelsteine in Ihre Projekte aufnehmen. Welches hat mich schon mal gebissen.
Dies verhindert, dass Sie mit generierten Rakefiles und dergleichen herumspielen müssen.
quelle
bundle exec rake db: migrate löst Probleme mit der Ruby-Version
quelle