¿Luchando con Ruby legacy y versiones antiguas de OpenSSL? No estás solo. En este artículo, te mostramos cómo resolver este problema común y mantener tu proyecto heredado en marcha. ¡Descubre la solución perfecta aquí!
Guía Rápida: Cambiar de OpenSSL 1.1.1 a OpenSSL 3.0 para Ruby con RVM
Primero, necesitas instalar OpenSSL 3.0 en tu linux (ubuntu). Sigue estos comandos:
Paso 1: Instalar OpenSSL 3.0
1. Descargar y descomprimir OpenSSL 3.0:
cd /usr/local/src
sudo wget https://www.openssl.org/source/openssl-3.0.0.tar.gz
sudo tar -xzvf openssl-3.0.0.tar.gz
cd openssl-3.0.0
2. Compilar e instalar OpenSSL 3.0:
sudo ./config --prefix=/usr/local/openssl-3.0
sudo make
sudo make install
Paso 2: Configurar las Variables de Entorno
Para utilizar OpenSSL 3.0, necesitas ajustar las variables de entorno. Ejecuta estos comandos:
1. Configurar variables de entorno:
export PATH=/usr/local/openssl-3.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl-3.0/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/openssl-3.0/lib/pkgconfig:$PKG_CONFIG_PATH
2. Verificar la versión activa de OpenSSL:
Paso 3: Usar OpenSSL 3.0 con RVM para Instalar Ruby
Cuando instales Ruby con RVM, asegúrate de especificar la ruta de OpenSSL 3.0:
rvm install 2.7.6 --with-openssl-dir=/usr/local/openssl-3.0
Paso 4: Cambiar de Vuelta a OpenSSL 1.1.1
Si necesitas volver a usar OpenSSL 1.1.1, ajusta las variables de entorno de la siguiente manera:
1. Configurar variables de entorno para OpenSSL 1.1.1:
export PATH=/usr/local/openssl-1.1.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl-1.1.1/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/usr/local/openssl-1.1.1/lib/pkgconfig:$PKG_CONFIG_PATH
2. Verificar la versión activa de OpenSSL:
Resumen
Para cambiar entre diferentes versiones de OpenSSL, ajusta las variables de entorno `PATH`, `LD_LIBRARY_PATH` y `PKG_CONFIG_PATH`. Instala las versiones necesarias en directorios separados y usa las variables de entorno para cambiar entre ellas según sea necesario. Esto te permitirá trabajar con múltiples versiones de OpenSSL en tu sistema de manera flexible.