¿Cómo instalar Ruby on Rails en Ubuntu?

Es común que nos encontremos guías que nos recomiendan la instalación de Rails por medio de Rubygems, el gestor de paquetes y librerías de Ruby. Esto causa confusión en varias distribuciones de Linux, donde ya existen gestores de paquetes que se encargan de este tipo de instalaciones.

A la manera de Debian

Debian en especial tiene políticas acerca de Rubygems, como no cumple sus requerimientos ellos mismos se encargan de proveer el paquete para Rails y que tu lo puedas instalar directamente con apt. También proveen con un paquete de Rubygems, si quieres tener el comando gem a tu disposición.

Desafortunadamente para los que nos gusta tener las últimas actualizaciones pronto, si seguimos el consejo de Debian agregamos otra capa de complejidad a la distribución, y esto provoca que los paquetes que provee apt siempre vayan atrás de lo que se nos ofrece con Rubygems (que ademas nos ofrece muchas cosas mas aparte de Rails)

A la manera recomendada

Instalar Rubygems con los archivos fuente (aunque me moleste esto) y Ruby desde el repositorio es la mejor opción para estar bien actualizado y evitar conflictos entre los gestores de paquetes.

Así que manos a la obra:

Lo primero es instalar Ruby desde los repositorios y de paso las herramientas para compilación, que podrían ser utilizadas por Rubygems en un futuro.

sudo apt-get install ruby-full build-essential

Enseguida podemos instalar Rubygems con sus archivos fuentes, puedes tomar la versión mas reciente desde sourceforge. Aquí instalaremos la versión 1.3.1, pero no importa realmente que instales una versión un poco mas vieja, ya que Rubygems se puede actualizar a si mismo con un solo comando justo como apt.

wget http://rubyforge.org/frs/download.php/45905/rubygems-1.3.1.tgz
tar -xvzf rubygems-1.3.1.tgz
cd rubygems-1.3.1/
sudo ruby setup.rb
sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
sudo gem update --system

Y entonces podemos instalar Rails con Rubygems. Voila!

sudo gem install rails

Probando 1,2,3

Una rápida prueba para comprobar que nuestra instalación ha funcionado:

rails railstest
cd railstest
ruby script/server

Esto ha creado un proyecto de Rails y ha puesto a correr un servidor de pruebas en el puerto 3000. Si entras con tu navegador a http://localhost:3000 veras tu nuevo proyecto.

Proyecto de prueba de Ruby on Rails