Instalar ruby gems en servidores compartidos sin permisos de root

Para realizar esto necesitamos saber donde están alojadas actualmente las ruby gems y añadir un nuevo repositorio en un subdirectorio nuestro (por ejemplo /home/Nombre_De_Usuario/gems), cambiando las variables GEM_PATH y GEM_HOME

Este pequeño truco nos permite tener un servidor 100% funcional para trabajar con Ruby on Rails en servidores de hosting con precios muy competitivos como Site5, que perdonad por la publicidad pero me impresionó: ofrecen unos atractivos 5TB de transferencia al mes, 55 Gb de espacio, 55 dominios, etc por 5$ al mes si pagas 2 años por adelantado, osea 120$ pero tienes 60 días de prueba, si no te gusta te devuelven el dinero, bueno no hago más publicidad, si os interesa aquí tenéis más información: Site5

Explicación paso a paso


Para ver dónde están las ruby gems actualmente hay que ejecutar el comando desde una consola en el servidor compartido:

gem environment


Este comando generará una salida similar a esta:

Rubygems Environment:
- VERSION: 0.8.10 (0.8.10)
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
- GEM PATH:
   - /usr/lib/ruby/gems/1.8
- REMOTE SOURCES:
   - http://gems.rubyforge.org


Una vez hemos creado el subdirectorio /home/Nombre_De_Usuario/gems, podemos cambiar las variables GEM_PATH y GEM_HOME creando un archivo llamado .gemrc en nuestra carpeta personal /home/Nombre_De_Usuario. El formato del archivo .gemrc es YAML, por lo que tiene que ser como el siguiente cambiando Nombre_De_Usuario y /usr/lib/ruby/gems/1.8 por nuestro nombre de usuario y por el anterior GEM PATH (que hemos averiguado con el comando gem environment) respectivamente.

.gemrc:
gemhome: /home/Nombre_De_Usuario/gems
gempath:
- /home/Nombre_De_Usuario/gems
- /usr/lib/ruby/gems/1.8


Si ahora ejecutamos gem environment obtenemos:

Rubygems Environment:
- VERSION: 0.8.10 (0.8.10)
- INSTALLATION DIRECTORY: /home/Nombre_De_Usuario/gems
- GEM PATH:
   - /home/Nombre_De_Usuario/gems
   - /usr/lib/ruby/gems/1.8
- REMOTE SOURCES:
   - http://gems.rubyforge.org


Mas información:

Etiquetas: , , ,


Recommend Me


XING
View Sergio Espeja's profile on LinkedIn