Instalar gemas localemente


#1

sabeis algún buen enlace donde te expliquen bien ¿cómo instalar
localmente
las gemas, para cuando en nuestros shared hosting no nos dejen? La
última
vez, seguí un par de instrucciones y me cargué toda la instalación de
rails.
Gracias


#2

On 4/5/07, albertofs removed_email_address@domain.invalid wrote:

sabeis algún buen enlace donde te expliquen bien ¿cómo instalar localmente
las gemas, para cuando en nuestros shared hosting no nos dejen? La última
vez, seguí un par de instrucciones y me cargué toda la instalación de rails.
Gracias


Alberto F.s,
www.albertofortes.com

Es normal cargarse la instalación de Ruby instalando gemas locales si
no se tiene cuidado.

Para empezar necesitarás un directorio donde almacenar las gemas
locales, normalmente “~/.gems”, y necesitas conocer donde se almacenan
las gemas globales, por ejemplo en “/usr/lib/ruby/gems/1.8” (para
descubrirlo lo mejor es hacer un “gem environment”).

Existen dos variables de entorno propias de las gemas: GEM_HOME que es
donde el comando “gem” instalará las gemas nuevas, y GEM_PATH que es
donde “require” buscará por las gemas. También es recomendable
modificar el PATH para incluir el directorio bin de las gemas.

En tu directorio de usuario crea un archivo “.gemrc” y rellenalo como
el siguiente:


gemhome: /home/usuario/.gems
gempath:

  • /home/usuario/.gems
  • /usr/lib/ruby/gems/1.8

(Por supuesto cambia los paths por los que se apliquen en tu caso).

Ahora actualizamos “.bash_profile” (o “.bashrc”, nunca me he enterado
de la diferencia) con los mismos valores:


export GEM_PATH=/home/usuario/.gems:/usr/lib/ruby/gems/1.8
export GEM_HOME=/home/usuario/.gems
export PATH=/home/usuario/.gems/bin:$PATH

Creo que con eso bastaría para instalar nuevas gemas y usuarlas desde
irb, si no funciona directamente en las aplicaciones Rails puedes
siempre incluir la linea “ENV[‘GEM_PATH’] =
‘/home/usuario/.gems:/usr/lib/ruby/gems/1.8’” justo al principio del
“environment.rb” de tu aplicación (esto es un asco, porque en tu
máquina de desarrollo quizá los paths no sean los mismos, pero es una
solución).

Bueno, creo que con eso debería más o menos funcionar lo que pides, a
ver si alguién más puede echar algo de luz sobre el tema.


#3

Daniel R.
Troitiño escribió:>

Ahora actualizamos “.bash_profile” (o “.bashrc”, nunca me he enterado
de la diferencia) con los mismos valores:

No tiene mucho que ver con la lista, pero para que no queden dudas :slight_smile:

La diferencia entre .bash_profile y .bashrc es que .bash_profile es
leído siempre que se inicia una sesión con login y .bashrc se lee en
sesiones sin login (por ej. la consola de gnome, de vim, el modo shell
de emacs…).

Normalmente el cambio se hace en .bashrc porque .bash_profile suele
incluir estas líneas:

include .bashrc if it exists

if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

Saludos!


Rafael Garcia Ortega

Prueba gratis nuestro nuevo producto GASTOSgem
(http://www.gastosgem.com)