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