2010-10-26 11 views
17

Soy nuevo en programación (anteriormente solo 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), así que estoy obligado a configurar todo sin el libro. He buscado mucho a través de google y en stackoverflow. Cuando ejecuto rails server automáticamente usa Webrick, pero quiero usar Mongrel. Instalé el prelanzamiento Mongrel a través de gem install mongrel --pre y eliminé la versión anterior. Leí que para hacer que Mongrel trabaje con rails server tuve que agregar gem 'mongrel' al Gemfile, pero no sé a cuál debería añadirlo (intenté varios pero nada cambió). Así que decidí mirar a través de la documentación mestizo Git y aprendido sobre mongrel_rails start cuando corro que me sale esto:LoadError ejecutando Mongrel con Rails3 y Ruby 1.9.2

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. es la clave pero no han sido capaces de resolverlo.

Agradeceria cualquier ayuda para poder aprender realmente el idioma!

EDIT: que fue capaz de superar el problema anterior gracias a @duddle pero ahora tengo otro problema ... estoy recibiendo 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 punto (1 a.m. ... muy cansado) es que me falta un archivo o algo no se llama como debería ser ... quizás necesite usar la acción :require en mi Gemfile ... quizás deba dormir en él. Decir ah.

Nuevamente, gracias a much @duddle por hacerme superar el primer error! ¡Cualquier otra ayuda es muy apreciada!

+0

¿ha ejecutado nuevamente 'bundle install' o/y' bundle update'? Luego intente iniciar el servidor de la manera normal a través del servidor 'carriles'. Después de agregar 'gem 'mongrel', '> = 1.2.0.pre2'' a tu Gemfile, ya no tienes que usar' mongrel_rails start'. – crispy

+0

Jaja, se despertó esta mañana y se dio cuenta de que había comentado la línea ("#") whoops. todo arreglado ahora! Funciona con 'rails server' ¡Muchas gracias! ... Cuando tenga más reputación, volveré aquí y haré +1 en tu respuesta. – tehaaron

Respuesta

32

You have already activated mongrel 1.2. 0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. is the key but I have not been able to solve it.

¡Usted estuvo casi allí!

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

El segundo parámetro indica bundler para requerir una versión igual o mayor que 1.2.0.pre2, que usted tiene que utilizar cuando se utiliza de Ruby 1.9.2.

página El Bündler ofrece una buena referencia sobre cómo usar el Gemfile: http://gembundler.com/gemfile.html

+0

Muchas gracias, leí la página de Gembundler y pude averiguar qué archivo de Gem para editar (mi aplicación). Sin embargo, ahora tengo otro problema ... imagínate. Por favor, mira mi edición – tehaaron

5

En caso de que no figura hacia fuera.

Ejecuté gem 'dispatcher' y agregué gem 'dispatcher' en el Gemfile de mi aplicación. Entonces todo estuvo bien.

A partir de la pequeña experiencia que tengo con ruby, cada vez que tengo un problema de "no es necesario cargar ningún archivo". Es porque me falta una gema específica.

Hth ...

+0

muchas gracias! ¡por fin me salvaste el tiempo! –

+0

Esto es lo que me llevó al siguiente paso al final. –

0

Hey, me encontré con ese problema, la solución era muy simple:

Simplemente añadir la gema 'expedición'

;-)

+1

trae el error: constante no inicializada Despachar :: Fuente :: PROC_EXIT – appsthatmatter

+0

sí Estoy luchando con el mismo problema –

4

añadir esta línea a su archivo de joya:

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

en el símbolo del sistema:

plazo bundle install

mestizo empezar a usar el comando:

rails server 
0

La gema mestizo no es compatible con Ruby 1.9.2; deberás usar gem 'sho-mongrel' en su lugar.

+3

Para agregar y aclarar su respuesta, la gema mestiza ** predeterminada ** no es compatible. Si usas mongrel> = 1.2.0pre2, en mi experiencia, está bien con Ruby 1.9.2. No estoy familiarizado con 'sho-mongrel' así que no puedo comentar sobre esa sugerencia. – rholmes

0

intento instalarlo usando:

gem install mongrel --pre 

que trabajó para mí perfecto !!!

Cuestiones relacionadas