May 30, 2011

uokesita

Error undefined method 'task' incompatibilidad con rake 0.9.0

Si tienes este error
              /Users/os/.rvm/gems/ree-1.8.7-2011.03/gems/thor-0.14.6/lib/thor/rake_compat.rb:33: undefined method `task' for class `Object' (NameError)
                from /Users/os/.rvm/gems/ree-1.8.7-2011.03/gems/padrino-core-0.9.28/lib/padrino-core/cli/base.rb:8
                from /Users/os/.rvm/gems/ree-1.8.7-2011.03/gems/padrino-core-0.9.28/bin/padrino:7:in `require'
                from /Users/os/.rvm/gems/ree-1.8.7-2011.03/gems/padrino-core-0.9.28/bin/padrino:7
                from /Users/os/.rvm/gems/ree-1.8.7-2011.03/bin/padrino:19:in `load'
                from /Users/os/.rvm/gems/ree-1.8.7-2011.03/bin/padrino:19
o este error
              rake aborted!
              undefined method `task' for #<NotWorking::Application:0x00000100ccc328>
La nueva version de rake no coloca sus comandos DSL en el directorio raiz del namespace de Object. Hasta que Rails y otras gemas que hacen uso de rake no solucionen esto puedes colocar el siguiente codigo en el Rakefile de tu app luego de "require rake" y antes de la llamada al load de los tasks en Rails asi:
              class Rails::Application
                include Rake::DSL if defined?(Rake::DSL)
              end
Otra solution es usar por ahora rake 0.8.7
              gem uninstall rake --version 0.9.0 && gem install rake --version 0.8.7