Hoy os presentamos un sencillo tutorial, quizá un poco “hardcore” para los usuarios con pocos conocimientos, sobre cómo instalar Ruby on Rails desde las fuentes oficiales del framework. Para ello, no vamos a instalar Ruby desde los repositorios de la distribución de turno, sino que compilaremos su código fuente y luego instalaremos el framework Rails.
Estos son los sistemas operativos sobre los cuales se hemos probado con éxito la instalación de Ruby on Rails desde las fuentes oficiales y con la ayuda de rbenv:
- Ubuntu 18.04
- Ubuntu 20.04
- Debian 10 Buster
- openSUSE Leap 15.2
- Fedora 32
- Fedora 33
¿Qué es Ruby on Rails?
Ruby on Rails (abreviado por muchos como RoR o Rails) es un framework para la creación de aplicaciones web Open Source que se distribuye bajo licencia MIT. Siguiendo el paradigma Modelo Vista Controlador (MVC – Model View Controller), su objetivo es ofrecer un entorno simple para el desarrollo de aplicaciones web en el cual no se requiera de un gran trabajo en la configuración e intentando minimizar al máximo la escritura de código.
Ruby on Rails se compone de dos partes. Una es el lenguaje de programación Ruby, creado en 1995 por el programador japonés Yukihiro Matsumoto. La segunda es el framework Rails, creado en 2004 por el programador danés David Heinemeier Hansson, también conocido como DHH.
Debido al fuerte enfoque de Rails en lo que se refiere a minimizar la escritura de código, no es necesario ser especialmente habilidoso con Ruby para trabajar con Ruby on Rails, aunque sí entender la sintaxis y las sentencias más elementales, con especial mención a los hashes.
Paso 1: Instalando lo paquetes
En primer lugar hay que instalar los paquetes necesarios para compilar Ruby con éxito. Quizá haya alguna redundancia y algún paquete innecesario, ya que estas son “ensaladas” que he creado yo mismo con información recopilada de varios sitios diferentes, pero al menos funcionan. Recomiendo tener cuidado con sudo, ya que por defecto Fedora no da permisos de administración al usuario común.
En Ubuntu 18.04 (después del comando hay que instalar Yarn y actualizar Node.js):
sudo apt install gcc build-essential libpq-dev libssl-dev libreadline-dev libsqlite3-dev zlib1g-dev git gitk git-gui software-properties-common nodejs bzip2 curl
En Ubuntu 20.04 y Debian 10 Buster (después del comando hay que instalar Yarn):
sudo apt install gcc build-essential libpq-dev libssl-dev libreadline-dev libsqlite3-dev zlib1g-dev git gitk git-gui software-properties-common nodejs bzip2 curl wget
Instalación en openSUSE Leap 15.2 (después del comando hay que instalar Yarn):
sudo zypper install git-core zlib zlib-devel gcc gcc-c++ patch readline readline-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl sqlite-devel nodejs python2-devel python3-devel libxml2-devel
Instalación en Fedora 32 y Fedora 33:
sudo dnf install git-core zlib zlib-devel gcc gcc-c++ patch readline readline-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl sqlite-devel nodejs python2-devel python3-devel libxml2-devel yarnpkg
Paso 2: Si no hemos usado Git antes
Si es la primera vez que usamos Git lo suyo sería al menos establecer la configuración básica:
git config --global user.name "Nombre del usuario"
git config --global user.email usuario@ejemplo.com
Paso 3: Compilando Ruby
Tras instalar las dependencias necesarias para la compilación de Ruby, procedemos a su instalación mediante rbenv desde el usuario común y su directorio raíz (/home/carpetadelusuario).
En primer lugar se clona rbenv:
git clone git://github.com/sstephenson/rbenv.git .rbenv
En segundo lugar exportamos rbenv al PATH del usuario:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
El tercer paso consiste en cargar lo añadido al PATH del usuario mediante source:
source ~/.bashrc
En teoría rbenv ya está instalado, por lo que para asegurarse sería recomendable probar el comando añadido al PATH:
rbenv # Esto es solo para probar que rbenv funciona
La salida del último comando tendría que ser algo como esto:
rbenv 1.1.1-6-g2d7cefe Usage: rbenv <command> [<args>] Some useful rbenv commands are: commands List all available rbenv commands local Set or show the local application-specific Ruby version global Set or show the global Ruby version shell Set or show the shell-specific Ruby version install Install a Ruby version using ruby-build uninstall Uninstall a specific Ruby version rehash Rehash rbenv shims (run this after installing executables) version Show the current Ruby version and its origin versions List all Ruby versions available to rbenv which Display the full path to an executable whence List all Ruby versions that contain the given executable See `rbenv help <command>' for information on a specific command. For full documentation, see: https://github.com/rbenv/rbenv#readme
Hacemos que rbenv se inicie con la consola de comandos:
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
Volvemos a cargar lo añadido:
source ~/.bashrc
Tras terminar la configuración de rbenv, se tiene que clonar los paquetes para la construcción de Ruby desde el código fuente:
git clone git://github.com/sstephenson/ruby-build.git .rbenv/plugins/ruby-build
Añadir Ruby al PATH del usuario:
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Ahora procedemos a instalar Ruby mediante su compilación (la versión recomendada se puede consultar desde aquí):
rbenv install -v 2.7.2 # Las versiones de Ruby disponibles se pueden ver mediante el comando: rbenv install -l
Establecer la versión instalada de Ruby como la global (el 2.4.1 corresponde a la versión):
rbenv global 2.7.2
Probando el comando de Ruby para ver si ha sido instalado correctamente:
ruby -v
Lo que hace el último comando puesto hasta aquí es mostrar la versión de Ruby instalada:
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]
Paso 4: Instalando Rails
En primer lugar indicaremos a gem que no genere documentación para ahorrar espacio en disco:
echo "gem: --no-document" > ~/.gemrc
La primera gem que se instala es bundler, encargada de automatizar la instalación de las gems necesarias para los proyectos de Ruby on Rails:
gem install bundler
Luego instalamos el framework Rails (las versiones de Rails disponibles se pueden ver desde aquí):
gem install rails -v 6.1.0
Completamos la instalación de Ruby on Rails con el siguiente comando:
rbenv rehash
Paso 5: Probando un proyecto de Rails
Ahora procedemos a crear un proyecto de prueba con Rails, algo que se puede hacer desde cualquier subdirectorio perteneciente al usuario común:
rails new prueba # En caso de tener varias versiones de Rails instaladas, se puede especificar la que se quiere utilizar de la siguiente manera: rails _5.1.2_ new prueba
Luego accedemos a la carpeta del proyecto:
cd prueba
Iniciamos el servidor integrado en Rails, el cual escucha a través del puerto 3.000:
rails server
Para detener el servidor solo hay que pulsar ctrl+c.
En caso de funcionar correctamente el servidor de Rails, en el navegador tendríamos que ver algo así introduciendo la URL localhost:3000:
- Artículo relacionado: Cómo configurar PostgreSQL para que funcione con Ruby on Rails