Cómo instalar Ruby on Rails con rbenv en macOS

Introducción

Ruby on Rails es una pila de aplicaciones popular para desarrolladores que buscan crear sitios y aplicaciones web. El lenguaje de programación Ruby, combinado con el marco de desarrollo Rails, hace que el desarrollo de aplicaciones sea rápido y eficiente.

Una forma de instalar Ruby y Rails es mediante la herramienta de línea de comandos rbenv. El uso de rbenv te proporcionará un entorno bien controlado y robusto para desarrollar tus aplicaciones de Ruby on Rails, lo que te permitirá cambiar fácilmente tu versión de Ruby de trabajo según sea necesario.

rbenv proporciona soporte para especificar versiones de Ruby específicas de la aplicación, te permite cambiar el Ruby global para cada usuario y te permite usar una variable de entorno para anular la versión de Ruby.

En este tutorial, utilizarás rbenv para instalar y configurar Ruby on Rails en tu máquina local macOS.

Requisitos previos

Para seguir este tutorial, necesitarás:

Paso 1 — Instalación de rbenv

En este paso, instalarás rbenv y te asegurarás de que se inicie automáticamente al arrancar. Para hacer esto en macOS, este tutorial utilizará el gestor de paquetes Homebrew.

Para descargar el paquete rbenv con Homebrew, ejecuta el siguiente comando:

  1. brew install rbenv

Esto instalará rbenv y el complemento [ruby-build] (https://github.com/rbenv/ruby-build). Este complemento añade el comando rbenv install, que agiliza el proceso de instalación para nuevas versiones de Ruby. Esto puede instalar varias otras dependencias y llevar algún tiempo.

A continuación, agregarás el comando eval "$(rbenv init -)" a tu archivo ~/.bash_profile para que rbenv se cargue automáticamente al abrir la Terminal. Para hacer esto, abre tu archivo .bash_profile en nano o tu editor de texto favorito:

  1. nano .bash_profile

Añade la siguiente línea al archivo:

~/.bash_profile
eval "$(rbenv init -)"

Guarda y cierra el archivo.

Luego, aplica los cambios que realizaste en tu archivo ~/.bash_profile a tu sesión actual de la terminal:

  1. source ~/.bash_profile

Para verificar que rbenv está configurado correctamente, utiliza el comando type, que mostrará más información sobre el comando rbenv:

  1. type rbenv

Tu ventana de la terminal mostrará lo siguiente:

Output
rbenv is a function rbenv () { local command; command="${1:-}"; if [ "$#" -gt 0 ]; then shift; fi; case "$command" in rehash | shell) eval "$(rbenv "sh-$command" "$@")" ;; *) command rbenv "$command" "$@" ;; esac }

En este punto, tanto rbenv como ruby-build están instalados en tu máquina. Esto te permitirá instalar Ruby desde la línea de comandos en el próximo paso.

Paso 2 — Instalación de Ruby

Con el complemento ruby-build ahora instalado, puedes instalar cualquier versión de Ruby que necesites mediante un solo comando. En este paso, elegirás una versión de Ruby, la instalarás en tu máquina y luego verificarás la instalación.

Primero, utiliza la bandera -l para listar las versiones disponibles de Ruby. Ten en cuenta que también pueden estar disponibles versiones recientes no listadas. Por ejemplo, si la salida de este comando lista Ruby 3.0.5, es probable que también puedas instalar 3.0.4.

  1. rbenv install -l
Output
2.6.10 2.7.6 3.0.4 3.1.2 jruby-9.3.6.0 mruby-3.1.0 picoruby-3.0.0 rbx-5.0 truffleruby-22.1.0 truffleruby+graalvm-22.1.0

La salida de ese comando será una larga lista de versiones entre las que puedes elegir instalar.

Para este tutorial, instalaremos Ruby 3.1.2:

  1. rbenv install 3.1.2

La instalación de Ruby puede ser un proceso largo, así que prepárate para que la instalación tarde un tiempo en completarse.

Una vez que haya terminado de instalar, establezca esta versión como su versión predeterminada de Ruby con el subcomando global:

  1. rbenv global 3.1.2

Verifica que Ruby se haya instalado correctamente verificando su número de versión:

  1. ruby -v

Tu salida se verá algo como esto:

Output
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]

Para instalar y usar una versión diferente de Ruby, ejecuta los comandos rbenv con un número de versión diferente, como rbenv install 2.7.6 y rbenv global 2.7.6.

Ahora tienes una versión de Ruby instalada y has establecido tu versión predeterminada de Ruby. A continuación, te prepararás para trabajar con paquetes y bibliotecas de Ruby, o gems, lo que te permitirá instalar Rails.

Paso 3 — Trabajando con Gems

Gems son paquetes de bibliotecas y programas de Ruby que se pueden distribuir en todo el ecosistema de Ruby. Utilizas el comando gem para gestionar estas gems. En este paso, configurarás el comando gem para prepararte para la instalación de Rails.

Cuando instalas una gema, el proceso de instalación genera documentación local. Esto puede agregar una cantidad significativa de tiempo a cada proceso de instalación de gema, por lo que puedes desactivar la generación de documentación local creando un archivo llamado ~/.gemrc que contenga una configuración para desactivar esta función:

  1. echo "gem: --no-document" > ~/.gemrc

Una vez hecho esto, utiliza el comando gem para instalar Bundler, una herramienta que gestiona las dependencias de las gemas para los proyectos. Esto es necesario para que Rails funcione correctamente:

  1. gem install bundler

Verás una salida como esta:

Output
Fetching: bundler-2.3.18.gem Successfully installed bundler-2.3.18 1 gem installed

Puedes utilizar el comando gem env para obtener más información sobre el entorno y la configuración de las gemas. Para ver la ubicación de las gemas instaladas, utiliza el argumento home, así:

  1. gem env home

Verás una salida similar a esta:

/Users/sammy/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0

Ahora que has configurado y explorado tu flujo de trabajo con gemas, estás libre de instalar Rails.

Paso 4 — Instalando Rails

Para instalar Rails, utiliza el comando gem install:

  1. gem install rails

El comando gem instala la gema que especifiques, así como todas sus dependencias. Rails es un marco de desarrollo web complejo y tiene muchas dependencias, por lo que el proceso tomará algún tiempo en completarse. Eventualmente verás un mensaje que indica que Rails está instalado, junto con sus dependencias:

Output
... Successfully installed rails-7.0.3.1 35 gems installed

Nota: Si deseas instalar una versión diferente de Rails, puedes enumerar las versiones válidas de Rails realizando una búsqueda, lo que generará una larga lista de posibles versiones. Luego, puedes instalar una versión específica, como 4.2.7, utilizando la bandera -v:

  1. gem search '^rails$' --all
  2. gem install rails -v 4.2.7

rbenv funciona creando un directorio de shims, o bibliotecas que interceptan llamadas y las cambian o redirigen. En este caso, los shims apuntan los comandos de Ruby a los archivos utilizados por la versión de Ruby que está actualmente habilitada. A través del subcomando rehash, rbenv mantiene shims en ese directorio para que coincidan con cada comando de Ruby en cada versión instalada de Ruby en tu servidor. Siempre que instales una nueva versión de Ruby o una gema que proporcione comandos, como Rails, debes usar rehash.

Para volver a generar el directorio de shims, ejecuta el siguiente comando:

  1. rbenv rehash

Verifica la instalación de Rails imprimiendo su versión con este comando:

  1. rails -v

Verás la versión de Rails que se instaló:

Output
Rails 7.0.3.1

Con Rails instalado correctamente, puedes comenzar a probar tu instalación de Ruby on Rails y comenzar a desarrollar aplicaciones web. En el siguiente paso, aprenderás cómo actualizar y desinstalar rbenv y Ruby.

Paso 5 — Actualizar y Desinstalar rbenv y Ruby

Cuando mantienes proyectos, es útil saber cómo actualizar y desinstalar cuando sea necesario. En este paso, actualizarás rbenv y luego desinstalarás Ruby y rbenv de tu máquina.

Puedes actualizar rbenv y ruby-build usando Homebrew ejecutando el siguiente comando:

  1. brew upgrade rbenv ruby-build

Si rbenv o ruby-build necesitan actualizarse, Homebrew lo hará automáticamente por ti. Si tu configuración ya está actualizada, obtendrás una salida similar a la siguiente:

Output
Warning: rbenv 1.2.0 already installed Warning: ruby-build 20220713 already installed

Esto asegurará que estemos utilizando la versión más actualizada de rbenv disponible.

Al descargar versiones adicionales de Ruby, es posible que acumules más versiones de las que desees en tu directorio ~/.rbenv/versions. Con el subcomando uninstall del complemento ruby-build, puedes eliminar estas versiones anteriores.

Por ejemplo, ejecuta lo siguiente para desinstalar la versión de Ruby 2.1.3:

  1. rbenv uninstall 2.1.3

Con el comando rbenv uninstall, puedes limpiar versiones antiguas de Ruby para que no tengas más instaladas de las que estás utilizando actualmente.

Si has decidido que ya no quieres usar rbenv, puedes eliminarlo de tu sistema.

Para hacer esto, primero abre tu archivo ~/.bash_profile en tu editor:

  1. nano ~/.bash_profile

Encuentra y elimina la siguiente línea del archivo para evitar que rbenv se inicie al abrir Terminal:

~/.bash_profile
...
eval "$(rbenv init -)"

Una vez que hayas eliminado esta línea, guarda el archivo y sal del editor.

Ejecuta el siguiente comando para aplicar los cambios a tu shell:

  1. source ~/.bash_profile

A continuación, elimina rbenv y todas las versiones de Ruby instaladas con este comando:

  1. rm -rf `rbenv root`

Finalmente, elimina el paquete rbenv en sí mismo con Homebrew:

  1. brew uninstall rbenv

Verifica la versión de rbenv para asegurarte de que se haya desinstalado:

  1. rbenv -v

Obtendrás la siguiente salida:

Output
-bash: /usr/local/bin/rbenv: No such file or directory

Esto significa que has eliminado correctamente rbenv de tu máquina.

Conclusión

En este tutorial, instalaste Ruby on Rails con rbenv en macOS. A partir de aquí, puedes aprender más sobre programación en Ruby con nuestra serie Cómo programar en Ruby. También puedes explorar cómo utilizar Ruby on Rails con PostgreSQL en lugar de su base de datos predeterminada sqlite3, que proporciona más escalabilidad, centralización y estabilidad para tus aplicaciones.

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-macos