installed ruby ver 1.9 but not working with rails 2.3.2

Hello,

I'm using OS X leopard and Rails 2.3.2

I've installed ruby by downloading the source and compiling it.

Now, I have

ruby -v
1.8.6
ruby19 -v
1.9

How can I get ruby19 to replace ruby ?

Also, when I do ruby19 script/server, I get the following error :
Missing the Rails 2.3.2 gem.

Any Ideas ?

Thank you.
-VS.

Hello,

I'm using OS X leopard and Rails 2.3.2

I've installed ruby by downloading the source and compiling it.

Now, I have

ruby -v
1.8.6
ruby19 -v
1.9

1.9 is several months old. You almost certainly want 1.9.1

Fred

You can create a link from the ruby19 to the current ruby.

`which ruby` will tell you the path to the current ruby. I'll pretend
it said "/usr/bin/ruby".

Move the current ruby someplace else.

mv /usr/bin/ruby /some/place/else

`which ruby19` will tell you the path to the ruby19.

Add a link:

ln -s /path/to/ruby19 /usr/bin/ruby

Thanks Greg.

Now when I do ruby -v, I get
ruby 1.9.1p0 (2009-01-30 revision 21907) [i386-darwin9.6.0]

But when I run script/server in my rails directory, I get :
Missing the Rails 2.3.2 gem.

Any ideas ?

Thanks so much,
-VS

Hi, you’ll need to execute

gem install rails

Good luck,

-Conrad

Thanks Conrad. I've already done that...

When I do 'gem install rails', I get :
Successfully installed rails-2.3.2
1 gem installed

Now, when I go to the rails project directory and do 'script/server',
I still get :
Missing the Rails 2.3.2 gem.

It's really frustrating.. Any Ideas ??

Thank you.
-VS.

What's your script/server look like?

Can you run script/console without issue?

Yes, I get the same error on script/console. Here's my script/server
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/server'

Thank you.
-VS

Looks normal to me.

What RAILS_GEM_VERSION is in your config/environment.rb ?

Thanks Greg. Here's the line from config/environment.rb
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION

Any ideas ? this is driving me crazy... Everything was working under
ruby 1.8.6

Thanks,
-VS

This might mean something... When I run 'gem install rails' as the
local user( in the previous attempt I ran this as root), I get
WARNING: Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
    /usr/bin aren't both writable.
WARNING: You don't have /Users/vs/.gem/ruby/1.8/bin in your PATH,
    gem executables will not run.

Any ideas ?

Thank you.
-VS

update: if I do "sudo gem install rails", I get :
Successfully installed rails-2.3.2
1 gem installed

But if I do script/server: I still get:
Missing the Rails 2.3.2 gem

What am I missing ?

Thanks,
-VS

This is definetely working with ruby 1.8.6. Here's the output using
the old version of ruby :
oldruby script/server
=> Booting Mongrel
=> Rails 2.3.2 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server

But when I try :
ruby script/server,
Missing the Rails 2.3.2 gem

Error has to do with ruby 1.9.1p0

Thanks,
-VS

When you built ruby 1.9.1 from source, did you go all the way to make
install? If so, what was the root (config --prefix=/???) that you
gave prior to the initial make?

I've found that just linking in the executable with major releases of
anything is often the shortest path to disfunction.

Here's a sequence you could use to build a parallel RoR suite.

1) Identify a new root for your RoR install suite like: /opt/RoR.
Create that directory and make yourself be owner (so you won't need to
sudo all the time).

2) In your Ruby source directory type:
   2a) ./configure --prefix=/opt/RoR
   2b) make
   2c) make install
You'll now have /opt/RoR/bin, /opt/RoR/lib, ... with your new ruby in
place.

3) In a term window type:
   3a) PATH=/opt/RoR/bin:$PATH
   3b) ruby --version You should see something like:
      ruby 1.9.1p0 (2009-01-30 revision 21907) [powerpc-darwin9.6.0]
   3c) gem install rake rack
   3d) gem install rails

Now you've got a new RoR suite that's available if your path is
modified as in step 3a, else you've got your original RoR setup
(assuming you haven't already blown it away).

Rick

update: if I do "sudo gem install rails", I get :
Successfully installed rails-2.3.2
1 gem installed

But if I do script/server: I still get:
Missing the Rails 2.3.2 gem

What am I missing ?

Thanks,
-VS

This might mean something... When I run 'gem install rails' as the
local user( in the previous attempt I ran this as root), I get
WARNING: Installing to ~/.gem since /Library/Ruby/Gems/1.8 and
          /usr/bin aren't both writable.
WARNING: You don't have /Users/vs/.gem/ruby/1.8/bin in your PATH,
          gem executables will not run.

Any ideas ?

Thank you.
-VS

Thanks Greg. Here's the line from config/environment.rb
RAILS_GEM_VERSION = '2.3.2' unless defined? RAILS_GEM_VERSION

Any ideas ? this is driving me crazy... Everything was working
under
ruby 1.8.6

Thanks,
-VS

Yes, I get the same error on script/console. Here's my script/
server
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/server'

Thank you.
-VS

Looks normal to me.

What RAILS_GEM_VERSION is in your config/environment.rb ?

--
Greg Donaldhttp://destiney.com/

Hi, is Rails being installed in the correct place? Also, you'll need
to install thin if you're working with Rails 2.3.x and Ruby 1.9.1.
Thus, you should be able to install it by doing the following:

gem install thin

Good luck,

-Conrad

This is definetely working with ruby 1.8.6. Here’s the output using

the old version of ruby :

oldruby script/server

=> Booting Mongrel

=> Rails 2.3.2 application starting on http://0.0.0.0:3000

=> Call with -d to detach

=> Ctrl-C to shutdown server

But when I try :

ruby script/server,
Missing the Rails 2.3.2 gem

Error has to do with ruby 1.9.1p0

Thanks,

-VS

update: if I do “sudo gem install rails”, I get :

Successfully installed rails-2.3.2

1 gem installed

But if I do script/server: I still get:

Missing the Rails 2.3.2 gem

What am I missing ?

Thanks,

-VS

This might mean something… When I run ‘gem install rails’ as the

local user( in the previous attempt I ran this as root), I get

WARNING: Installing to ~/.gem since /Library/Ruby/Gems/1.8 and

      /usr/bin aren't both writable.

WARNING: You don’t have /Users/vs/.gem/ruby/1.8/bin in your PATH,

      gem executables will not run.

Any ideas ?

Thank you.

-VS

Thanks Greg. Here’s the line from config/environment.rb

RAILS_GEM_VERSION = ‘2.3.2’ unless defined? RAILS_GEM_VERSION

Any ideas ? this is driving me crazy… Everything was working under

ruby 1.8.6

Thanks,

-VS

Yes, I get the same error on script/console. Here’s my script/server

#!/usr/bin/env ruby

require File.dirname(FILE) + ‘/…/config/boot’

require ‘commands/server’

Thank you.

-VS

Looks normal to me.

What RAILS_GEM_VERSION is in your config/environment.rb ?

Greg Donaldhttp://destiney.com/

OK, here’s a chart that you should following:

( mongrel compatible ) ( thin compatible ) ( wberick compatible ) ( passenger compatible )

ruby 1.8.6 Y Y Y Y

ruby 1.9.1 N Y N Y

Good luck,

-Conrad

update: if I do "sudo gem install rails", I get :
Successfully installed rails-2.3.2
1 gem installed

But if I do script/server: I still get:
Missing the Rails 2.3.2 gem

What am I missing ?

I bet that the gem executable is still the ruby 1.8 version (ie that
installs gems for ruby 1.8). The one that installs for ruby 1.9 is
probably called gem19 or something like that.

Fred

When you followed gregs advice you ended up sort of "fooling" the ruby
command. now you have two of everything (2 rails gems, one under 1.8
and one under 1.9).

make sure you are calling the correct gem from the correct place. If i
were you, i would uninstall one of your ruby instalations (at this
point 1.8)

sudo gem19 install rails?

When you followed gregs advice you ended up sort of "fooling" the ruby
command. now you have two of everything (2 rails gems, one under 1.8
and one under 1.9).

There's no such thing as a "ruby command" (at least not in my shell).
There is a ruby binary, and there's a path that might find it
depending on where you put it and what directories your path contains.
Being able to change the path so it can find a different ruby binary
other than the one that came with the system is a feature of the
system, seriously.. no fooling. You can have your entire ruby
toolchain living out of /some/place/weird while completely ignoring
the ruby that came with the system, you only have to adjust the paths
to include the weird place. That's how it works, it's not magic, no
fooling.

make sure you are calling the correct gem from the correct place. If i
were you, i would uninstall one of your ruby instalations (at this
point 1.8)

That's all together not necessary. I suspect all of my development
systems have two ruby installs. I ignore the one that came with the
system and install my own whereever I want. I update my bashrc so it
knows about my intentions and that's about it.