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-ve... 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?
on 2008-10-10 18:08
on 2008-10-10 18:14
Alle Friday 10 October 2008, John Griffiths ha scritto: > I found one article which explains how to run 3 using > gem --update like, > /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
on 2008-10-10 18:23
On Fri, Oct 10, 2008 at 9:05 AM, John Griffiths <firstname.lastname@example.org> wrote: > 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,
on 2008-10-10 18:24
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 ?
on 2008-10-10 18:28
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
on 2008-10-19 22:28
John Griffiths: > Has anyone had any experiences in running > multiple versions of Ruby on Debian Etch? I run hand-compiled Ruby 1.8.6, 1.8.7 and 1.9.0 alongside each other by putting them in ~/opt with, for example, ./configure --prefix=/home/shot/opt/ruby-1.8.7-p72 I then have ~/opt/ruby-1.8.7 symling poiting to it, plus export PATH_ORIG="$PATH" export PATH="/var/lib/gems/1.8/bin:$PATH_ORIG" in my ~/.bashrc plus alias r7='export PATH="/home/shot/opt/ruby-1.8.7/bin:$PATH_ORIG"' alias r8='export PATH="/home/shot/opt/ruby-1.8.6/bin:$PATH_ORIG"' alias r9='export PATH="/home/shot/opt/ruby-1.9.0/bin:$PATH_ORIG"' in my ~/.bash_aliases â€“ this way I get the systemâ€™s Ruby+RubyGems by default and can switch to my hand-compiled environment when I want to run Ruby 1.8.6, 1.8.7 or 1.9.0. Ruby 1.9 comes with RubyGems, in the cases of Ruby 1.8 you need to download the tarball and then run `ruby setup.rb` with the proper, hand-compiled Ruby binary. I hand-compile 1.8.6 because Debian and Ubuntu by default --enable-pthreads which is a performance killer. export CFLAGS='-O3 -march=native' should also boost performance, but in my case the differences are neglible. -- Shot