Running Multiple Versions of Ruby on Debian?

J

John Griffiths

Well so far things are going kind of good, I've built my own server and
it's sitting in colo running Debian Etch and Ruby 1.8.6 (built from
source)

Now me being me I wouldn't mind running 1.8.7 alongside 1.8.6 for my
Rails blogging software.

Has anyone had any experiences in running multiple versions of Ruby on
Debian Etch?

I found one article which explains how to run 3 using
update-alternatives but pretty unsure if it'll adapt well to Debian,

http://blog.michaelgreenly.com/2008/08/multiple-versions-of-ruby-on-ubuntu-2.html

Seems possible, especially using:

./configure --prefix=/opt/ruby-1.8.7-p71

To set where to install the Ruby version, I'm imagining I'd have to run
gem --update like,

/opt/ruby-1.8.7-p71/bin/gem --update
or
/opt/ruby-1.8.7-p71/bin/gem install rails

to install the necessary gems per ruby install without touching the one
in /usr/bin/ruby,

then i'm imagining,

/opt/ruby-1.8.7-p71/bin/thin start -C /var/www/apps/myapp/thin.conf
...to start the thin webserver with my config file

Will try out on a virtual machine first, but am i on the right track or
is there something better?
 
S

Stefano Crocco

Alle Friday 10 October 2008, John Griffiths ha scritto:
Well so far things are going kind of good, I've built my own server and
it's sitting in colo running Debian Etch and Ruby 1.8.6 (built from
source)

Now me being me I wouldn't mind running 1.8.7 alongside 1.8.6 for my
Rails blogging software.

Has anyone had any experiences in running multiple versions of Ruby on
Debian Etch?

I found one article which explains how to run 3 using
update-alternatives but pretty unsure if it'll adapt well to Debian,

http://blog.michaelgreenly.com/2008/08/multiple-versions-of-ruby-on-ubuntu-
2.html

Seems possible, especially using:

./configure --prefix=/opt/ruby-1.8.7-p71

To set where to install the Ruby version, I'm imagining I'd have to run
gem --update like,

/opt/ruby-1.8.7-p71/bin/gem --update
or
/opt/ruby-1.8.7-p71/bin/gem install rails

to install the necessary gems per ruby install without touching the one
in /usr/bin/ruby,

then i'm imagining,

/opt/ruby-1.8.7-p71/bin/thin start -C /var/www/apps/myapp/thin.conf
...to start the thin webserver with my config file

Will try out on a virtual machine first, but am i on the right track or
is there something better?

I'd also suggest to pass configure the --program-prefix or --program-suffix
arguments. This way, you can call the ruby 1.8.7 executable ruby187, instead
of just ruby and you won't have to use its full path every time you want to
use it. The same happens with the other executables, like irb and ri.

Stefano
 
H

Hassan Schroeder

Seems possible, especially using:

./configure --prefix=/opt/ruby-1.8.7-p71

To set where to install the Ruby version, I'm imagining I'd have to run
gem --update like,

/opt/ruby-1.8.7-p71/bin/gem --update
is there something better?

I just create files with appropriate PATH settings, like
------------------------------------------------------------
export RUBY_HOME=/opt/ruby-1.8.7-p71
PATH=$RUBY_HOME/bin:$PATH
------------------------------------------------------------
Name them sensibly, and you can just type, e.g.
prompt% . 187
to source, and voila! No need to enter the entire path, or remember
to use a different name.

FWIW,
 
J

John Griffiths

Thanks Stefano,

so if i were to do,

/configure --prefix=/opt/ruby-1.8.7-p71 --program-suffix=187

to make ruby187 point to /opt/ruby-1.8.7-p71/ruby ?
 
S

Stefano Crocco

Alle Friday 10 October 2008, John Griffiths ha scritto:
Thanks Stefano,

so if i were to do,

./configure --prefix=/opt/ruby-1.8.7-p71 --program-suffix=187

to make ruby187 point to /opt/ruby-1.8.7-p71/ruby ?

It doesn't create a symlink. It will change the name of the ruby executable:
not

/opt/ruby-1.8.7-p71/ruby

but

/opt/ruby-1.8.7-p71/ruby187

If you then put /opt/ruby-1.8.7-p71 in your PATH, you'll be able to use
ruby187 to call the new version and ruby to call the old version.

Stefano
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,756
Messages
2,569,540
Members
45,025
Latest member
KetoRushACVFitness

Latest Threads

Top