Undefined method 'Aufgabe' mit Rake 0.9.0
Ich gerade aktualisiert Rake auf die neueste version (0.9.0.beta.4
) und die rake
Befehl endet mit der folgenden Fehlermeldung:
rake aborted!
undefined method `task' for #<Anelis::Application:0x9223b6c>
Hier ist die trace:
undefined method `task' for #<Anelis::Application:0x97ef80c>
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:214:in `initialize_tasks'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:139:in `load_tasks'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing'
/home/amokrane/Documents/prog/web/learning_rails/anelis/Rakefile:7:in `load_string'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `eval'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:28:in `load_string'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/environment.rb:16:in `load_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:495:in `raw_load_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:78:in `block in load_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:77:in `load_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:61:in `block in run'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:129:in `standard_exception_handling'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/lib/rake/application.rb:59:in `run'
/usr/local/rvm/gems/ruby-1.9.2-p136/gems/rake-0.9.0.beta.4/bin/rake:31:in `<top (required)>'
/usr/local/rvm/gems/ruby-1.9.2-p136/bin/rake:19:in `load'
/usr/local/rvm/gems/ruby-1.9.2-p136/bin/rake:19:in `<main>'
Jeder erlebt das gleiche Problem? Was könnte falsch sein? Beachten Sie, dass ich bin läuft Rails 3.0.3
Sie könnten auch interessiert sein der Inhalt meines Gemfile:
source 'http://rubygems.org'
gem 'rails', '3.0.3'
gem 'sqlite3-ruby', :require => 'sqlite3'
gem 'mysql2'
gem 'legacy_data'
gem 'resources_controller', :git => 'git://github.com/ianwhite/resources_controller'
gem 'will_paginate', '3.0.pre' # pagination
gem 'jquery-rails', '>= 0.2.6'
gem "rmagick" # sudo aptitude install libmagick9-dev
gem "paperclip", "~> 2.3"
gem "nested_form", :git => "git://github.com/madebydna/nested_form.git"
gem "meta_search"
gem "hirb"
gem "devise"
gem "rails_admin", :git => "git://github.com/sferik/rails_admin.git"
Wie kann ich dieses problem beheben?
- Ich denke, das problem existiert mit rake-0.0.9 (freigegeben) als gut.
- du meinst rake, version 0.9.0. aber ja, es ist gebrochen.
- ist dies also ein problem mit etwas, was ich mache oder ein problem mit dieser bestimmten version von rake? Vielen Dank, N
- kam gerade über dieses Problem als gut, zu versuchen, es herauszufinden
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hatte ich die gleiche exception beim ausführen der 0.9.0.beta.4 version von Rake.
Es sieht aus wie das neue
Rake::DSL
wird nicht richtig geladen.Also ich habe folgenden code, um mein Rakefile:
Diese Weise konnte ich mein Rake-tasks wieder.
Ich weiß, dass dies nicht eine elegante Lösung. Aber wenn Sie die
--pre
version der Rake könnte es werden alle Rechte zur Verwendung dieser quick hack.require 'rake'
undMyApp::Application.load_tasks
Rails.application.class_eval do; include Rake::DSL; end
Erläutert in mordaroso Antwort, es ist ein problem in Rake 0.9.0. Sie müssen vorübergehend ein downgrade Rechen, um es zu vermeiden:
run:
gem uninstall rake -v 0.9
(addsudo
es sei denn, Sie verwendenrvm
)hinzufügen, um Ihre Gemfile:
gem 'rake', '~> 0.8.7'
und führen Sie dann:
bundle update
Können Sie überspringen den ersten Schritt, aber dann haben Sie zu laufen
rake
mitbundle exec
zum Beispiel:Andernfalls erhalten Sie die folgende Fehlermeldung.
Update
Als Alex Chaffee bemerkt in einem Kommentar für Pablo Cantero Antwort, dass müssen Sie möglicherweise Folgendes tun, um deinstallieren Rake, wenn Sie immer noch sehen, das problem
Auch versuchen, die vorgeschlagene Lösung in Duke ' s Antwort.
bundle exec rake
zu verwenden, die arbeiten gebündelt version.bundle exec rake
ist nur erforderlich, wenn der rake-0.9 war nicht deinstalliert. In diesem Fall bekommt man eine Fehlermeldungrake aborted! You have already activated rake 0.9.0, but your Gemfile requires rake 0.8.7. Consider using bundle exec.
gem 'rake', '~> 0.8.7'
Hinweis: Dies war nur der fest in Rails 3.0.8
Die neue version der Rake nicht seinen DSL-Befehle (task -, Datei -, desc, importieren, etc.) in der Wurzel des Objekt-namespace mehr (indem Sie im Objekt-bedeutete jedes Objekt hat eine Aufgabe, Befehl, nicht sehr schön. Die DSL-Befehle sind verfügbar, durch mischen in der
Rake::DSL module
in jedem Modul müssen die Befehle.Bis Ruby on Rails wird aktualisiert, um die Arbeit mit Rake 0.9.x, legen Sie die folgenden in Ihrem Projekt Rakefile nach erforderlich "rake" und vor dem Aufruf von
Application.load_tasks
:Ich habe ein Problem, für rails_admin über diesen gleichen Fehler.
Die Antwort:
Es ist ein problem in Rake (0.9.0), es war angekündigt von DHH auf Twitter.
gem uninstall rake --version 0.9.0 && gem install rake --version 0.8.7
(die zweite Installation ist, um die ausführbare Datei zurück).rvm use @global && gem uninstall rake --version 0.9.0 && rvm use @ && gem uninstall rake --version 0.9.0 && gem install rake --version 0.8.7
Dies wurde behoben in Ruby on Rails 3.0.8.rc1, die freigegeben werden sollen, in ein paar Tagen Zeit.
Rake 0.9.1 erschienen ist gerade die Umkehrung der Veränderung, der diesen Fehler verursacht, aber fügt eine deprecation-Warnung: https://github.com/jimweirich/rake/commit/44aec3ceac085740bce0c385bccd65fc4d1d911c
Ich benutze rvm, aber deinstallieren hilft mir nicht. Also habe ich manuell entfernen Sie alle 0.9-Dateien aus
.rvm/gems/ruby@global
- Verzeichnis und alles wird wie vorher!ohne die Notwendigkeit zu deinstallieren Rake 0.9.x, add
Ihrem Gemfile und geben Sie einfach