ruby 1.9.1, cygwin & rails 2.3.2: undefined method camelize

I tried to get this working and ran into a problem:

- latest cygwin - ruby 1.9.1p129 (same problem with p0). install in /opt/ruby19 - rails 2.3.2

1) Installed ruby 1.9.1p129 with: --prefix=/opt/ruby19. No errors or problems. make install worked.

2) gem install rails

  No problem, rails installs just fine in the /opt/ruby19 hierarchy.

3) Attempt to create a new rails application: FAILED

    (cygwin) % rails testapp     undefined method `camelize' for "app":String

    The back-trace:

    undefined method `camelize' for "app":String   /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:29:in `class_name'   /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:38:in `block in lookup_class'   /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:36:in `each_object'   /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:36:in `lookup_class'   /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:18:in `klass'   /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ lookup.rb:140:in `instance'   /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ scripts.rb:31:in `run'   /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/bin/rails:18:in `<top (required)>'   /opt/ruby19/bin/rails:19:in `load'   /opt/ruby19/bin/rails:19:in `<main>'

Anyone have any ideas on how this could be fixed?

If I use a 1.8.x version of ruby, everything works fine.

???

Thanks,

I tried to get this working and ran into a problem:

- latest cygwin - ruby 1.9.1p129 (same problem with p0). install in /opt/ruby19 - rails 2.3.2

1) Installed ruby 1.9.1p129 with: --prefix=/opt/ruby19. No errors or problems. make install worked.

2) gem install rails

No problem, rails installs just fine in the /opt/ruby19 hierarchy.

3) Attempt to create a new rails application: FAILED

   (cygwin) % rails testapp    undefined method `camelize' for "app":String

   The back-trace:

   undefined method `camelize' for "app":String /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:29:in `class_name' /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:38:in `block in lookup_class' /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:36:in `each_object' /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:36:in `lookup_class' /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ spec.rb:18:in `klass' /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ lookup.rb:140:in `instance' /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/lib/rails_generator/ scripts.rb:31:in `run' /opt/ruby19/lib/ruby/gems/1.9.1/gems/rails-2.3.2/bin/rails:18:in `<top (required)>' /opt/ruby19/bin/rails:19:in `load' /opt/ruby19/bin/rails:19:in `<main>'

Anyone have any ideas on how this could be fixed?

If I use a 1.8.x version of ruby, everything works fine.

???

Thanks,

Are you wanting to use ruby 1.9.1 or ruby 1.8.6? If you're trying to
use ruby 1.9.1, then you you'll want to use the gem command for it.
For example, the command might be

gem1.9 install rails

instead of

gem install rails

-Conrad

I'm not having trouble installing rails. Ruby 1.9.1 came with its own copy of the gem binary which I have all installed in a separate hierarchy. But, when I run the rails command to create a new test application, that's when I get the undefined method camelize for app:String

I have googled around a bit and found a reference to a FreeBSD user having the same problem. As I said earlier, this works perfectly on my Mac OS X Leopard system so I'll do most of my concept work there using ruby 1.9.1 & rails 2.3.2.

If anyone has any other ideas, I'm all ears. Luckily I don't absolutely have to have this working on cygwin ... it would just be nice.

My Ruby 1.8.x / Rails 2.3.2 Environments all work fine. This is just for Ruby 1.9.1p129 + Rails 2.3.2 which I'm having trouble with. Yes, I really want to use Ruby 1.9.1 for projects that are not in production yet as this gives me exposure to the the new ruby and will help me eventually with porting of my old apps.

Actually, I've ported a few of my Rails applications from Ruby 1.8.6/ Ruby 1.8.7 to Ruby 1.9.1 with very minor effort so it's not as big of a deal as people seem to make it out.

Thanks for your suggestion anyway.

Dan

simply install ruby-iconv (http://john.vipvip.com/blog/?p=71)

Thanks for the tip. I already have that package installed so the problem might be that my private (/opt/ruby.../) copy of ruby didn't see or detect the iconv stuff when I built it from the source code.

I don't see the ruby-iconv package on cygwin so there must be another package or build option I'm missing there.

Dan