merb-1.1.0.pre - uninitialized constant Merb::Generators::ControllerGenerator (NameError)

12 views
Skip to first unread message

Jon Hancock

unread,
Dec 31, 2009, 9:19:56 PM12/31/09
to merb
I've installed merb 1.1.0.pre on my production linux server and am
getting different behavior than on my OS X dev machine.
Running merb-gen as follows shows the problem.

mhd@us1:~$ merb-gen app merb_test
/home/mhd/ruby-191-p243/lib/ruby/gems/1.9.1/gems/merb-haml-1.1.0.pre/
lib/generators/controller.rb:1:in `<top (required)>': uninitialized
constant Merb::Generators::ControllerGenerator (NameError)
from /home/mhd/ruby-191-p243/lib/ruby/gems/1.9.1/gems/merb-
gen-1.1.0.pre/lib/merb-gen.rb:15:in `require'
from /home/mhd/ruby-191-p243/lib/ruby/gems/1.9.1/gems/merb-
gen-1.1.0.pre/lib/merb-gen.rb:15:in `<top (required)>'
from /home/mhd/ruby-191-p243/lib/ruby/gems/1.9.1/gems/merb-
gen-1.1.0.pre/bin/merb-gen:3:in `require'
from /home/mhd/ruby-191-p243/lib/ruby/gems/1.9.1/gems/merb-
gen-1.1.0.pre/bin/merb-gen:3:in `<top (required)>'
from /home/mhd/ruby/bin/merb-gen:19:in `load'
from /home/mhd/ruby/bin/merb-gen:19:in `<main>'


thanks, Jon

Mark 42

unread,
Jan 2, 2010, 6:57:08 PM1/2/10
to merb
I got this too: it seems that various files from the haml gem are
being picked up by merb-gen.

You can fix it by editing /var/lib/gems/1.9.1/gems/merb-gen-1.1.0.pre/
merb-gen.rb

Change the line

require 'generators/controller.rb'

to

require File.dirname(__FILE__) + '/generators/controller.rb'

Also the lines

require 'generators/resource_controller'
require 'generators/resource'
require 'generators/layout'

to

require File.dirname(__FILE__) + '/generators/resource_controller'
require File.dirname(__FILE__) + '/generators/resource'
require File.dirname(__FILE__) + '/generators/layout'

That got it working (so far) on my system (after I removed the built-
from-source ruby1.9.1 and reverted to the standard Ubuntu 9.10
package).

HTH
Mark

Reply all
Reply to author
Forward
0 new messages