Conecta con nosotros

Hola, ¿qué estás buscando?

Actualidad

Cómo instalar Ruby on Rails en Linux desde las fuentes oficiales

Ruby on Rails

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 (MVCModel 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:

Advertencia, desplázate para continuar leyendo
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:

Rails funcionando correctamente sobre Ubuntu 17.10

40 Comentarios
Advertencia
Advertencia

Te recomendamos

Actualidad

Microsoft ha anunciado el lanzamiento de .NET 9, una nueva versión de su plataforma de código abierto para el desarrollo y ejecución de aplicaciones con...

Actualidad

Oracle ha publicado JDK 23, que dependiendo del prisma por el que se mire puede ser entendido como OpenJDK 23 o Java 23. Una...

Actualidad

Godot 4.3 ya está disponible como la nueva versión estable del motor de videojuegos distribuido como código abierto, y como ya es habitual por...

Actualidad

Hoy vamos a aprovechar la ocasión para presentar a DevToys, “una navaja suiza para desarrolladores” de código abierto similar a Microsoft PowerToys, que tiene...