rails - elasticsearch ruby
Rastrillo constante no inicializado:: DSL en Ruby Gem (4)
He estado trabajando en la actualización de mi gema (whm_xml en https://github.com/ivanoats/whm_xml_api_ruby ) para que funcione con ruby 1.9.2, los últimos rubygems, el último bundler, el último rdoc, el último rake. Funciona bien en 1.8.7 pero tiene el error "Rake constante no inicializado :: DSL" solo en 1.9.2. Pensé que el rastrillo 0.9.2 lo solucionó, pero ¿quizás no? He leído mucho sobre StackOverflow pero todavía estoy atascado. ¿Alguna idea sobre dónde mirar?
ivan:~/Development/ruby/whm_xml_api_ruby [git:master+] → bundle exec rake -T
(in /Users/ivan/Development/ruby/whm_xml_api_ruby)
rake aborted!
uninitialized constant Rake::DSL
/Users/ivan/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rake.rb:2482:in `const_missing''
/Users/ivan/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/tasklib.rb:8:in `<class:TaskLib>''
/Users/ivan/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/tasklib.rb:6:in `<module:Rake>''
/Users/ivan/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/tasklib.rb:3:in `<top (required)>''
/Users/ivan/.rvm/gems/ruby-1.9.2-p180/gems/rdoc-3.6.1/lib/rdoc/task.rb:37:in `require''
/Users/ivan/.rvm/gems/ruby-1.9.2-p180/gems/rdoc-3.6.1/lib/rdoc/task.rb:37:in `<top (required)>''
/Users/ivan/Development/ruby/whm_xml_api_ruby/Rakefile:3:in `require''
/Users/ivan/Development/ruby/whm_xml_api_ruby/Rakefile:3:in `<top (required)>''
/Users/ivan/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rake.rb:2373:in `load''
/Users/ivan/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rake.rb:2373:in `raw_load_rakefile''
/Users/ivan/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile''
/Users/ivan/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling''
/Users/ivan/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile''
/Users/ivan/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/rake.rb:1991:in `run''
/Users/ivan/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/bin/rake:32:in `<top (required)>''
/Users/ivan/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `load''
/Users/ivan/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `<main>''
Estuve engañando con el Rake :: DSL incluido, etc. y acabo de recibir otros errores.
agregando
gema ''rastrillo'', ''0.8.7''
al Gemfile parece funcionar para mí
Tuve el mismo problema con 0.9.1, instalé el 0.9.2 y funcionó pero el comando db: migrate envió un mensaje ADVERTENCIA: El acceso global a los métodos DSL de Rake está en desuso. Por favor ... se resolvió agregando al módulo de rake file :: clase yourappname La aplicación incluye Rake :: DSL end end y requiere ''rake / dsl_definition'' antes de la ... Entrada LoadTask
Esta pregunta SO podría ayudarte. La sugerencia que hay que agregar require ''rake/dsl_definition''
arriba y require ''rake''
en su Rakefile
.
Creo que esto es algo que sucedió con el lanzamiento de raske 0.9.0. Intenta poner esto en tu Gemfile: gem ''rake'', ''0.8.7''
Actualizar
Puedes intentar agregar
include Rake::DSL if defined?(Rake::DSL)
a tu aplicación; funcionó para mi aplicación Rails en un punto.