Ir al contenido
Brayan Diaz C
Volver

Cómo instalar y configurar Ruby en Ubuntu con rbenv

Llegamos al lenguaje con el que más he construido: Ruby. En este artículo vas a aprender exactamente cómo instalarlo en Ubuntu o WSL con rbenv, el gestor de versiones que inspiró a toda la familia (nodenv y pyenv, que ya vimos, son sus descendientes directos).

Ruby fue mi puerta de entrada a la programación: lo usaba para automatizar procesos en SketchUp sin saber que eso era “programar”. Hoy sigue siendo el corazón de mis proyectos con Rails, y si algo aprendí en todos estos años es que un Ruby mal instalado te cobra la factura en el peor momento: cuando bundle install falla en plena entrega.

El problema es el de siempre: instalar Ruby con apt te da una versión vieja y global, y Rails es especialmente sensible a las versiones. Dos proyectos con Gemfiles distintos y un solo Ruby es una receta para el desastre.

Vamos a ver:

  1. Instalar las dependencias de compilación.
  2. Instalar rbenv y ruby-build.
  3. Configurar tu shell correctamente.
  4. Instalar versiones de Ruby, elegir la global y fijarla por proyecto.
  5. Dejar Bundler listo para trabajar.

Al final tendrás un entorno Ruby a prueba de Gemfiles, replicable en cualquier máquina.

Nota

Esta guía asume la base de la serie: Setup Ubuntu y WSL para desarrollo profesional y Git configurado.

Tabla de contenidos

Tabla de contenidos

Paso 1: Instala las dependencias de compilación

Como pyenv, rbenv compila Ruby desde la fuente. Si seguiste el setup profesional ya tienes la mayoría; este bloque garantiza las que Ruby necesita:

sudo apt update && sudo apt install -y \
  build-essential curl git libssl-dev zlib1g-dev libreadline-dev \
  libyaml-dev libxml2-dev libxslt1-dev libffi-dev libgdbm-dev \
  libncurses-dev libdb-dev uuid-dev

Paso 2: Instala rbenv y ruby-build

Clona rbenv en tu carpeta personal:

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

Y su plugin ruby-build, el que aporta el comando rbenv install:

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Sin ruby-build, rbenv sabe cambiar de versión pero no sabe instalarlas. Van juntos siempre.

Paso 3: Configura tu shell

El reparto de siempre en la serie. Si usas zsh (el de Oh My Zsh): PATH en ~/.zprofile, inicialización en ~/.zshrc.

echo '' >> ~/.zprofile
echo '# PATH de rbenv' >> ~/.zprofile
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zprofile
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.zprofile
echo '' >> ~/.zshrc
echo '# Inicialización de rbenv' >> ~/.zshrc
echo 'eval "$(rbenv init - zsh)"' >> ~/.zshrc

Si usas bash: el PATH va en ~/.bash_profile y la inicialización en ~/.bashrc, cambiando zsh por bash.

Nota

En Ubuntu, si tu ~/.bash_profile no existía, créalo con cuidado: cuando existe, bash deja de leer ~/.profile en sesiones de login. Si ya tenías configuración ahí, agrégale al inicio la línea source ~/.profile.

Recarga y verifica:

exec "$SHELL"
rbenv -v

Paso 4: Instala Ruby y define la versión global

Consulta las versiones estables recientes:

rbenv install -l

Instala la que necesites (usa la más reciente de la lista) y déjala como predeterminada:

rbenv install 3.4.4
rbenv global 3.4.4
Nota

La instalación tarda varios minutos: está compilando Ruby desde la fuente. Si falla, casi siempre es una dependencia del Paso 1 que faltó.

Verifica:

ruby -v
rbenv versions
rbenv which ruby

Paso 5: Fija la versión por proyecto

Dentro de la carpeta de un proyecto:

cd mi-proyecto
rbenv local 3.4.4

Esto crea un archivo .ruby-version, que además Rails y Bundler saben leer: quien clone el repo sabrá exactamente qué Ruby necesita, y rbenv lo activará automáticamente al entrar a la carpeta.

Paso 6: Deja Bundler listo

Bundler es el gestor de dependencias de Ruby y tu compañero diario en cualquier proyecto:

gem install bundler
rbenv rehash
bundle -v

Aprovecha para actualizar RubyGems:

gem update --system
Consejo

rbenv rehash regenera los shims: los atajos que hacen que ruby, gem o bundle apunten a la versión correcta. Si instalas una gema con ejecutable (como rails) y el comando no aparece, ese es el remedio.

Solución de problemas comunes

rbenv: command not found

La configuración del shell no quedó aplicada. Revisa los archivos del Paso 3 y reinicia la terminal.

ruby-build: definition not found

Tu ruby-build no conoce esa versión todavía. Actualízalo:

cd ~/.rbenv/plugins/ruby-build && git pull

Falla la compilación

Dependencia faltante en el 99% de los casos: repite el bloque del Paso 1 y reintenta.

Instalé una gema y el comando no aparece

rbenv rehash

Mantenimiento

Ambos se actualizan con git:

cd ~/.rbenv && git pull
cd ~/.rbenv/plugins/ruby-build && git pull

Y para eliminar una versión que ya no uses:

rbenv uninstall 3.4.4

Conclusión

Ruby compilado en tu usuario, .ruby-version por proyecto y Bundler listo: la base exacta sobre la que después se monta Rails sin fricción. Es la misma filosofía de toda la etapa de lenguajes, aplicada al gestor que la inventó.

Si esto te fue útil, el artículo relacionado es el paso lógico: Setup Ubuntu y WSL para desarrollo profesional, la base de dependencias que hace que rbenv compile sin sorpresas.

El jueves publico esta misma configuración para macOS. Si no te lo quieres perder, suscríbete al newsletter en la portada del blog.

Recursos adicionales


Comparte este post:

Post siguiente
Cómo instalar y configurar Python en macOS con pyenv