Upgrading Ruby on Redhat EL4 for Ruby on Rails Development

We don’t typically use Ruby on Rails in house. Up until recently, I was the dev guy as well as the server guy, the support guy and all the other hats I wear. Since I don’t do Rails development, there was no reason to get it setup. Recently, with the addition of Gary to the b5media team, Rails development became something we do. So I set about configuring the servers for Rails projects (first time for me!) and discovered that Red Hat Enterprise Linux 4 only ships with Ruby 1.8.1. 1.8.2 is needed for Rails.

Nice. The easiest way I found to upgrade to a newer version of Ruby without going through extreme dependency hell, was to follow this really short procedure:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@server ~]# cd /tmp
[root@server /tmp]# wget http://dev.centos.org/centos/4/testing/i386/RPMS/ruby-1.8.5-1.el4.centos.i386.rpm
[root@server /tmp]# wget http://dev.centos.org/centos/4/testing/i386/RPMS/ruby-libs-1.8.5-1.el4.centos.i386.rpm
[root@server tmp]# rpm -e ruby
[root@server tmp]# rpm -Uvh ruby-libs-1.8.5-1.el4.centos.i386.rpm
warning: ruby-libs-1.8.5-1.el4.centos.i386.rpm: V3 DSA signature: NOKEY, key ID 7203f491
Preparing...                ########################################### [100%]
   1:ruby-libs              ########################################### [100%]
[root@server tmp]# rpm -Uvh ruby-1.8.5-1.el4.centos.i386.rpm
warning: ruby-1.8.5-1.el4.centos.i386.rpm: V3 DSA signature: NOKEY, key ID 7203f491
Preparing...                ########################################### [100%]
   1:ruby                   ########################################### [100%]
[root@server tmp]# ruby -v
ruby 1.8.5 (2006-08-25) [i386-linux]
[root@server tmp]#

This routine downloads the ruby libs 1.8.5 and ruby 1.8.5 RPMs from the CentOS testing repository. It then removes the ruby 1.8.1 library (

1
rpm -e

) along with dependencies. This step is done to avoid problems installing the new version.

Pretty standard stuff, but navigating the treacherous waters of RPM and dependencies is something I don’t mind helping someone avoid.

Published by Aaron Brazell

Aaron Brazell is a Baltimore, MD-based WordPress developer, A Backend Developer . at Modern Tribe, a co-founder at WP Engine, WordPress core contributor and author. He wrote the book WordPress Bible and has been publishing on the web since 2000. You can follow him on Twitter, on his personal blog and view his photography at The Aperture Filter.