En esta publicación del blog, discutiremos cómo combinar la potencia de rbenv y autoenv para gestionar versiones de Ruby y variables de entorno sin problemas en tus proyectos. Al final de esta publicación, tendrás una comprensión clara de cómo usar estas herramientas juntas para mejorar aún más tu experiencia de desarrollo en Ruby.

Nota: Este tutorial asume que ya has instalado rbenv y autoenv. Si no lo has hecho, sigue las instrucciones de instalación para rbenv y autoenv.

¿Por qué usar rbenv y autoenv juntos?

rbenv es una herramienta poderosa que te permite gestionar múltiples versiones de Ruby fácilmente. Por otro lado, autoenv te ayuda a gestionar variables de entorno que son específicas de un directorio de proyecto. Al usar ambas herramientas juntas, puedes asegurarte de que estás usando la versión correcta de Ruby y las variables de entorno adecuadas para cada proyecto sin necesidad de intervención manual.

Configurando rbenv y autoenv

Antes de adentrarnos en ejemplos, configuremos autoenv para que funcione con rbenv. Para ello, crea un nuevo archivo .env en tu directorio de proyecto y agrega las siguientes líneas:

export RBENV_VERSION=$(cat .ruby-version)
export PATH="$HOME/.rbenv/shims:$PATH"

La primera línea establece la variable de entorno RBENV_VERSION en función del contenido del archivo .ruby-version. La segunda línea asegura que el directorio de “shims” de rbenv esté en el PATH, de modo que se utilice la versión correcta de Ruby al ejecutar comandos de Ruby.

Example 1: Cambiar versiones de Ruby

Supongamos que tienes dos proyectos: project_a y project_b. Quieres usar la versión de Ruby 2.7.4 para project_a y la versión de Ruby 3.0.2 para project_b. Así es como puedes lograrlo con rbenv y autoenv:

  1. Crea un archivo .ruby-version en cada directorio de proyecto:
echo "2.7.4" > project_a/.ruby-version
echo "3.0.2" > project_b/.ruby-version
  1. Crea un archivo .env en cada directorio de proyecto con el contenido mencionado anteriormente:
cp .env project_a/
cp .env project_b/

Ahora, cuando navegues a project_a o project_b, autoenv configurará automáticamente la variable RBENV_VERSION y ajustará el PATH para utilizar la versión correcta de Ruby.

Example 2: Gestionar variables de entorno específicas del proyecto

Digamos que project_a requiere las siguientes variables de entorno:

  • API_KEY: Tu clave API para un servicio de terceros
  • SECRET_KEY: Una clave secreta para cifrar datos

Puedes agregar estas variables al archivo .env en project_a de esta manera:

export RBENV_VERSION=$(cat .ruby-version)
export PATH="$HOME/.rbenv/shims:$PATH"
export API_KEY="your_api_key_here"
export SECRET_KEY="your_secret_key_here"

Ahora, cuando navegues a project_a, autoenv configurará automáticamente la variable RBENV_VERSION, ajustará el PATH y establecerá las variables de entorno API_KEY y SECRET_KEY.

Conclusión

Al usar rbenv y autoenv juntos, puedes gestionar fácilmente versiones de Ruby y variables de entorno específicas del proyecto sin necesidad de intervención manual. Esta combinación hace que tu experiencia de desarrollo en Ruby sea más eficiente y menos propensa a errores.

No olvides agregar tus archivos .env a tu archivo .gitignore para evitar la publicación accidental de información confidencial en tu sistema de control de versiones.

Con esta configuración en su lugar, disfrutarás de un flujo de trabajo de desarrollo de Ruby fluido adaptado a cada uno de tus proyectos. ¡Feliz codificación!