Problemas com Merb on Snow Leopard
Pergunta
Recentemente, comecei a procurar Merb, para uso com alguns pequenos projetos em todo o escritório. Estou tentando configurar meu primeiro projeto seguindo os documentos e estou encontrando uma exceção como:
foo:beta user$ merb
Merb root at: /Users/user/code/merb/beta
Loading init file from ./config/init.rb
Loading ./config/environments/development.rb
~ Connecting to database...
~ Loaded slice 'MerbAuthSlicePassword' ...
~ Parent pid: 39794
~ Compiling routes...
~ Activating slice 'MerbAuthSlicePassword' ...
~
~ FATAL: Mongrel is not installed, but you are trying to use it. You need to either install mongrel or a different Ruby web server, like thin.
Eu instalei MonGrel da GEM, bem como de Macports, e estou confuso com essa exceção.
Estatísticas significativas:
ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10]
Das minhas jóias instaladas:
merb (1.1.0)
merb-action-args (1.1.0)
merb-assets (1.1.0)
merb-auth (1.1.0)
merb-auth-core (1.1.0)
merb-auth-more (1.1.0)
merb-auth-slice-password (1.1.0)
merb-cache (1.1.0)
merb-core (1.1.0)
merb-exceptions (1.1.0)
merb-gen (1.1.0)
merb-haml (1.1.0)
merb-helpers (1.1.0)
merb-mailer (1.1.0)
merb-param-protection (1.1.0)
merb-slices (1.1.0)
merb_datamapper (1.1.0)
mongrel (1.1.5)
A documentação do MRB é inexistente, então eu me vejo preso.
Desde já, obrigado.
Solução
Mongrel está bastante desatualizado e nem sempre funciona com Rubys mais novos. Se thin
Não funciona nem tente usar o webrick (merb -a webrick
). Esse é o servidor padrão no Ruby e deve funcionar bem (embora seja o mais lento de todos)
Outras dicas
Tente usar manipulador fino. É muito mais rápido que Mongol.
gem install thin
merb -a thin
Com o Merb 1.1, descobri que, se você adicionar esta linha ao gemfile do seu aplicativo (na raiz do aplicativo), esse erro desaparecerá:
Gem "Mongrel"