Cómo instalar Ruby on Rails con rbenv en Ubuntu 18.04

Introducción

Ruby on Rails es una de las pilas de aplicaciones más popular para los desarrolladores que buscan crear sitios y aplicaciones web. El lenguaje de programación de Ruby, combinado con el marco de desarrollo de Rails simplifica el desarrollo de aplicaciones.

Puede instalar de manera sencilla Ruby y Rails con la herramienta de línea de comandos rbenv. El uso de rbenv le proporcionará un entorno sólido para desarrollar sus aplicaciones de Ruby on Rails, ya que le permitirá cambiar de forma sencilla las versiones de Ruby y mantener la misma versión para todo su equipo.

rbenv proporciona apoyo para precisar versiones específicas de aplicaciones de Ruby y le permite cambiar el Ruby global para cada usuario y usar una variable de entorno para anular la versión de Ruby.

A través de este tutorial, conocerá el proceso de instalación de Ruby y Rails a través de rbenv.

Requisitos previos

Para este tutorial, necesitará lo siguiente:

  • Un servidor de Ubuntu 18.04 configurado mediante la guía de configuración inicial para servidores de Ubuntu 18.04, un usuario sudo no root y un firewall.
  • Node.js instalado con el PPA oficial, como se explica en Cómo instalar Node.js en Ubuntu 18.04. Algunas características de Rails, como el proceso de recursos, dependen de un tiempo de ejecución de JavaScript. Node.js proporciona esta funcionalidad.

Paso 1: Instalar rbenv y dependencias

Ruby depende de varios paquetes que puede instalar a través de su administrador de paquetes. Una vez que estos se instalen, puede instalar rbenv y utilizarlo para instalar Ruby.

Primero, actualice su lista de paquetes:

  • sudo apt update

A continuación, instale las dependencias necesarias para instalar Ruby:

  • sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev

Una vez que se descarguen las dependencias, puede instalar el propio rbenv. Clone el repositorio rbenv de GitHub en el directorio ~/.rbenv:

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

A continuación, agregue ~/.rbenv/bin a su $PATH para que pueda usar la utilidad de línea de comandos rbenv. Hágalo alterando su archivo ~/.bashrc para que afecte a las futuras sesiones de inicio de sesión:

  • echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

A continuación agregue el comando eval "$(rbenv init -)"a su archivo ~/.bashrc para que rbenv se cargue de forma automática:

  • echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Luego, aplique los cambios que realizó a su archivo ~/.bashrc en su sesión de shell actual:

  • source ~/.bashrc

Verifique que rbenv se configure de manera adecuada usando el comando type, que mostrará más información sobre el comando rbenv:

  • type rbenv

En su ventana de terminal se mostrará lo siguiente:

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

A continuación, instale el complemento de ruby-build. Este complemento agrega el comando rbenv install, que simplifica el proceso de instalación para nuevas versiones de Ruby:

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

En este punto, tendrá rbenv y ruby-build instalados. A continuación, instalaremos Ruby.

Paso 2: Instalar Ruby con ruby-build

Con el complemento ruby-build instalado, podrá instalar versiones de Ruby que pueda necesitar a través de un simple comando. Primero, haremos una lista de todas las versiones disponibles de Ruby:

  • rbenv install -l

Como resultado de ese comando, se debería obtener una larga lista de versiones que puede elegir para la instalación.

Instalaremos Ruby 2.5.1:

  • rbenv install 2.5.1

El proceso de instalación de Ruby puede ser largo; por ello, debe estar preparado para que tarde en completarse.

Una vez que se complete la instalación, configúrela como nuestra versión predeterminada de Ruby con el subcomando global:

  • rbenv global 2.5.1

Verifique que Ruby se haya instalado de forma correcta revisando su número de versión:

  • ruby -v

Si instaló la versión 2.5.1 de Ruby, su resultado para el comando anterior debería tener un aspecto similar a este:

Outputruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux] 

Para instalar y usar una versión diferente de Ruby, ejecute los comandos rbenv con un número de versión diferente, como en rbenv install 2.3.0 y rbenv globales 2.3.0.

Ahora tiene al menos una versión de Ruby instalada y estableció su versión de Ruby predeterminada. A continuación, configuraremos gemas y Rails.

Paso 3: Trabajar con gemas

Las gemas son el medio de distribución de las bibliotecas de Ruby. Se utiliza el comando gem para administrar estas gemas. Usaremos este comando para instalar Rails.

Cuando instale una gema, el proceso de instalación generará documentación local. Esto puede sumar una cantidad de tiempo considerable al proceso de instalación de cada gema. Por ello, desactive la generación de documentación local creando un archivo llamado ~/.gemrc que contenga un ajuste de configuración para desactivar esta característica:

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

Bundler es una herramienta que administra dependencias de gemas para proyectos. A continuación, instale la gema de Bundler, ya que Rails depende de ello.

  • gem install bundler

Verá un resultado como este:

OutputFetching: bundler-1.16.2.gem (100%) Successfully installed bundler-1.16.2 1 gem installed 

Puede usar el comando gem env (el subcomando env es la abreviatura de environment) para obtener más información sobre el entorno y la configuración de gemas. Puede ver dónde se instalan gemas usando el argumento home, como se muestra a continuación:

  • gem env home

Verá un resultado similar a este:

/home/sammy/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0 

Una vez que tenga gemas configuradas, podrá instalar Rails.

Paso 4: Instalar Rails

Para instalar Rails, utilice el comando gem install junto con el indicador -v para especificar la versión. Para este tutorial, usaremos la versión 5.2.0:

  • gem install rails -v 5.2.0

El comando gem instala la gema que especificó y todas las dependencias. Rails es un complejo marco de trabajo de desarrollo web y cuenta con muchas dependencias, por lo que el proceso tomará tiempo en completarse. Finalmente, verá un mensaje que indicará que Rails se instaló junto con sus dependencias:

Output... Successfully installed rails-5.2.0 38 gems installed 

Nota: Si desea instalar una versión diferente de Rails, puede enumerar las versiones válidas de este realizando una búsqueda que dará como resultado una larga lista de posibles versiones. Podemos, entonces, instalar una versión específica, como 4.2.7:

  • gem search '^rails$' --all
  • gem install rails -v 4.2.7

Si quiere instalar la última versión de Rails, ejecute el comando sin especificar una versión:

  • gem install rails

rbenv crea un directorio de shims, que apuntan a los archivos utilizados por la versión de Ruby 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 de Ruby instalada en su servidor. Cada vez que instale una nueva versión de Ruby o una gema que proporcione comandos, como hace Rails, deberá ejecutar lo siguiente:

  • rbenv rehash

Verifique que Rails se haya instalado de manera adecuada imprimiendo su versión con este comando:

  • rails -v

Si Rails se instaló de manera adecuada, verá la versión:

OutputRails 5.2.0 

En este punto, podrá comenzar a probar su instalación de Ruby on Rails y desarrollar aplicaciones web. Veamos la forma de mantener a rbenv actualizado.

Paso 5: Actualizar rbenv

Ya que instaló rbenv de forma manual usando Git, puede actualizar su instalación a la versión más reciente en cualquier momento usando el comando git pull en el directorio ~/.rbenv:

  • cd ~/.rbenv
  • git pull

Esto garantizará que usemos la versión más actualizada de rbenv disponible.

Paso 6: Desinstalar versiones de Ruby

Al descargar versiones adicionales de Ruby, puede acumular más versiones de las que podría desear en su directorio ~/.rbenv/versions. Utilice el subcomando uninstall del complemento de ruby-build para quitar estas versiones anteriores.

Por ejemplo, escribiendo lo siguiente desinstalará la versión de Ruby 2.1.3:

  • rbenv uninstall 2.1.3

Con el comando rbenv uninstall puede eliminar las versiones antiguas de Ruby para que no haya instaladas más de las que esté usando.

Paso 7: Desinstalar rbenv

Si decidió que ya no quiere usar rbenv, puede eliminarlo de su sistema.

Para hacerlo, primero abra su archivo ~/.bashrc en su editor:

  • nano ~/.bashrc

Encuentre y elimine las siguientes dos líneas del archivo:

~/.bashrc

... export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)" 

Guarde el archivo y salga del editor.

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

 rm -rf `rbenv root` 

Cierre la sesión y vuelva a abrirla para implementar los cambios en su shell.

Conclusión

A través de este tutorial, instaló rbenv y Ruby on Rails. A partir de ahora, podrá aprender más sobre cómo dar más solidez a esos entornos.

Vea cómo sustituir su base de datos de sqlite3 predeterminada por Ruby on Rails con PostgreSQL o MySQL, que proporcionan más escalabilidad, centralización y estabilidad para sus aplicaciones. A medida que sus necesidades aumenten, también podrá aprender a escalar aplicaciones de Ruby on Rails en varios servidores.