ventajas rails que para how entre diferencia desarrolladores ruby ruby-on-rails-3 mongrel

que - LoadError ejecutando Mongrel con Rails3 y Ruby 1.9.2



ruby on rails website (6)

Soy nuevo en la programación (anteriormente solo hice html / css / design) tratando de comenzar a aprender RoR a través del libro Simply Rails 2. Sin embargo, quiero comenzar con las versiones más recientes de Ruby (1.9.2) y Rails (3). Me veo obligado a configurar todo sin el libro. He buscado mucho a través de google y en stackoverflow. Cuando ejecuto el rails server , automáticamente usa Webrick, pero quiero usar Mongrel. Instalé la versión preliminar Mongrel a través de gem install mongrel --pre y gem install mongrel --pre la versión anterior. Leí que para hacer que Mongrel trabajara con el rails server tuve que agregar gem ''mongrel'' al Gemfile, pero no sé a cuál debería agregarlo (probé varios, pero nada cambió). Así que decidí ver la documentación mestiza a través de git y aprendí sobre el mongrel_rails start cuando ejecuto que recibo esto:

C:/Ruby192/shovell>mongrel_rails start ** Starting Mongrel listening at 0.0.0.0:3000 ** Starting Rails with development environment... C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:27:in ''block in setup'': You have already activated mongrel 1.2. 0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. (Gem::LoadError) from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in ''block in each'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in ''each'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in ''each'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:17:in ''setup'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler.rb:100:in ''setup'' from C:/Ruby192/shovell/config/boot.rb:8:in ''<top (required)>'' from <internal:lib/rubygems/custom_require>:29:in ''require'' from <internal:lib/rubygems/custom_require>:29:in ''require'' from C:/Ruby192/shovell/config/application.rb:1:in ''<top (required)>'' from <internal:lib/rubygems/custom_require>:29:in ''require'' from <internal:lib/rubygems/custom_require>:29:in ''require'' from C:/Ruby192/shovell/config/environment.rb:2:in ''<top (required)>'' from <internal:lib/rubygems/custom_require>:29:in ''require'' from <internal:lib/rubygems/custom_require>:29:in ''require'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:147:in ''rails'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:116:in ''block (2 levels) in run'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in ''call'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in ''listener'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:102:in ''block in run'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in ''call'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in ''initialize'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in ''new'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in ''run'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/command.rb:210:in ''run'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:282:in ''<top (required)>'' from C:/Ruby192/bin/mongrel_rails:19:in ''load'' from C:/Ruby192/bin/mongrel_rails:19:in ''<main>''`

Mi mejor conjetura es que C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:27:in ''block in setup'': You have already activated mongrel 1.2. 0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:27:in ''block in setup'': You have already activated mongrel 1.2. 0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. Es la clave pero no he podido resolverla.

¡Apreciaría cualquier ayuda para poder aprender realmente el idioma!

EDIT: Pude superar el problema anterior gracias a @duddle pero ahora tengo otro problema ... Recibo este error:

C:/Ruby192/shovell>mongrel_rails start ** Starting Mongrel listening at 0.0.0.0:3000 ** Starting Rails with development environment... C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:239:in ''req uire'': no such file to load -- dispatcher (LoadError) from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:239:in ''block in require'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:225:in ''block in load_dependency'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:591:in ''new_constants_in'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:225:in ''load_dependency'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/activesupport-3.0.0.rc2/lib/active_support/dependencies.rb:239:in ''require'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:148:in ''rails'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:116:in'' block (2 levels) in run'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in ''call'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:149:in ''listener'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:102:in'' block in run'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in ''call'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/configurator.rb:50:in ''initialize'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in ''new'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in''run'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/command.rb:210:in ''run'' from C:/Ruby192/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:282:in ''<top (required)>'' from C:/Ruby192/bin/mongrel_rails:19:in ''load'' from C:/Ruby192/bin/mongrel_rails:19:in ''<main>

Mi mejor conjetura en este momento (1 a.m. ... muy cansado) es que me estoy perdiendo un archivo o algo no tiene el nombre que debería tener ... tal vez necesito usar la acción :require en mi Gemfile ... tal vez solo necesito dormir sobre ello. Decir ah.

Nuevamente, ¡muchas gracias a @duddle por hacerme pasar el primer error! ¡Cualquier ayuda más es muy apreciada!


Ya has activado el mestizo 1.2. 0.pre2, pero su Gemfile requiere mongrel 1.1.5. Considere el uso de exec paquete. Es la clave pero no he podido resolverla.

Estabas casi allí!

gem ''mongrel'', ''>= 1.2.0.pre2''

El segundo parámetro le dice a Bundler que requiera una versión igual o mayor a 1.2.0.pre2, que debe usar cuando use Ruby 1.9.2.

La página de Bundler proporciona una buena referencia sobre cómo usar Gemfile: http://gembundler.com/gemfile.html


Intenta instalarlo usando:

gem install mongrel --pre

Me funcionó perfecto !!!


La gema mestiza no es compatible con Ruby 1.9.2; Tendrás que usar la gema ''sho-mongrel'' en su lugar.


Oye, me encontré con ese problema, la solución era bastante simple:

Solo agrega la gema ''enviar''

;-)


Sólo en caso de que no lo hayas descubierto.

Ejecuté el instalador de gemas ''dispatcher'' y agregué gema ''dispatcher'' en el Gemfile de mi aplicación. Entonces todo estaba bien.

Desde la pequeña experiencia que tengo con ruby, cada vez que tengo un problema de "no necesito tal archivo para cargar". Es porque me falta una gema específica.

Hth ...


añade esta línea a tu archivo de gemas:

gem ''mongrel'', ''>= 1.2.0.pre2''

en el símbolo del sistema:

ejecutar bundle install

inicia mongrel usando este comando:

rails server