Jaula para gemas de Ruby

rubygems

Cuándo tienes varias aplicaciones Ruby On Rails en la misma máquina, cada una de ellas tiene sus propias dependencias, y a veces algunas de ellas son incompatibles entre sí. Llegados a este término lo mejor es hacer varias instalaciones separadas entre sí del repositorio de gemas, de este modo podremos tener infinitas instalaciones completamente aisladas entre sí.

Pasos para instalar un entorno aislado:

  1. Crear una carpeta con el usuario que queramos, no es necesario que sea super usuario. Por ejemplo:
    mkdir -p /var/www/ruby-sandbox/gems
    cd /var/www/ruby-sandbox
    
  2. Configuramos las variables de entorno de rubygems en un script, de este modo podremos configurar el entorno automáticamente:
    vim /var/www/ruby-sandbox/setup
    

    Añadimos el siguiente contenido:

    export GEM_HOME="/var/www/ruby-sandbox/gems"
    export GEM_PATH=$GEM_HOME
    

    Después de salvar, dotamos al fichero de permisos de ejecución, y lo ejecutamos:

    chmod +x /var/www/ruby-sandbox/setup
    . setup
    
  3. Podemos probar que tenemos un entorno aislado y vacío con:
    gem list
    
  4. Para instalar las gemas, sólo tenemos que instalarlas como hacemos habitualmente, por ejemplo:
    gem install rails -v=2.3.14
    

Con estos sencillos pasos hemos configurado un entorno aislado del resto, para intercambiar de un entorno a otro, sólo tendremos que modificar el valor de las variables GEM_HOME (para escribir) y de GEM_PATH (para leer).

1 comentario

  1. Corregido el paso 2, para ejecutar el script de setup, y que las variables de entorno se conserven en el shell actual, hay que ejecutarlo con un punto.

Deja un comentario