rails programas instalar ejemplos descargar codigofacilito actualizar ruby-on-rails ruby ubuntu rubygems capistrano

ruby on rails - programas - ¿Cómo uso gemas con Ubuntu?



ruby installer (5)

¿Dónde están mis gemas?

Puede encontrar dónde se almacenan sus gemas usando el comando gem environment . Por ejemplo:

chris@chris-laptop:~$ gem environment RubyGems Environment: - RUBYGEMS VERSION: 1.3.2 - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8 - RUBY EXECUTABLE: /usr/bin/ruby1.8 - EXECUTABLE DIRECTORY: /usr/bin - RUBYGEMS PLATFORMS: - ruby - x86-linux - GEM PATHS: - /usr/lib/ruby/gems/1.8 - /home/chris/.gem/ruby/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES:

Si miras la sección "GEM PATHS:" puedes ver que las gemas se pueden almacenar en dos lugares en mi computadora portátil: /usr/lib/ruby/gems/1.8 o en el directorio .gem en mi directorio de inicio.

También puede ver que los ejecutables se almacenan en DIRECTORIO EJECUTABLE, que en este caso es /usr/bin .

Como /usr/bin está en mi camino, esto me permite ejecutar cap , merb , rails , etc.

Actualizando tu RUTA

Si por alguna razón su DIRECTORIO EJECUTABLE no está en su ruta (por ejemplo, si es /var/lib/gems/1.8/bin), entonces necesita actualizar su variable PATH.

Asumiendo que estás usando el shell bash. Puede hacer esto rápidamente para la sesión actual escribiendo lo siguiente en el indicador del intérprete de comandos; /var/lib/gems/1.8/bin que desea agregar /var/lib/gems/1.8/bin a la ruta:

export PATH=$PATH:/var/lib/gems/1.8/bin

y presione regresar. Eso agrega el nuevo directorio al final de la ruta actual. Tenga en cuenta los dos puntos entre $PATH y /var/lib/gems/1.8/bin

Para establecer el valor de todas las sesiones, deberá editar su archivo .profile o .bashrc y agregar la misma línea al final del archivo. Normalmente edito mi archivo .bashrc sin ninguna otra razón que no sea lo que siempre he hecho. Cuando termine, guarde el archivo y luego actualice su entorno escribiendo:

bash

en el indicador de shell. Eso hará que el .bashrc vuelva a leerse.

En cualquier punto, puede verificar el valor actual de $PATH escribiendo

echo $PATH

en el indicador de shell.

Aquí hay una muestra de uno de mis servidores, donde mi nombre de usuario es "chris" y el nombre de la máquina es "chris-laptop":

chris@chris-laptop:~$ chris@chris-laptop:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games chris@chris-laptop:~$ chris@chris-laptop:~$ export PATH=$PATH:/var/lib/gems/1.8/bin chris@chris-laptop:~$ chris@chris-laptop:~$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/var/lib/gems/1.8/bin chris@chris-laptop:~$

¡Mi gema no se cargará!

"Las gemas Ruby no se cargarán aunque estén instaladas " resalta un problema común al usar múltiples versiones diferentes de Ruby; En ocasiones, el entorno de gemas y la ruta de gemas no se sincronizan:

rb(main):003:0> Gem.path => ["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"] irb(main):004:0> exit

Cualquier proceso de Ruby aquí solo busca en un lugar sus gemas.

:~/$ gem env RubyGems Environment: - RUBYGEMS VERSION: 1.3.7 - RUBY VERSION: 1.9.1 (2009-05-12 patchlevel 129) [x86_64-linux] - INSTALLATION DIRECTORY: /opt/ruby1.9/lib/ruby/gems/1.9.1 - RUBY EXECUTABLE: /opt/ruby1.9/bin/ruby1.9 - EXECUTABLE DIRECTORY: /opt/ruby1.9/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /opt/ruby1.9/lib/ruby/gems/1.9.1 - /home/mark/.gem/ruby/1.9.1 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/

Mire cuidadosamente el resultado del entorno de la gema:

- GEM PATHS: - /opt/ruby1.9/lib/ruby/gems/1.9.1

Esta no es la misma ruta devuelta por Gem.path:

["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]

Es difícil decir exactamente qué hizo que lib/ruby cambiara a lib/ruby1.9 pero lo más probable es que el desarrollador trabajara con múltiples versiones de Ruby. Un mv o ln rápido resolverá el problema.

Si necesita trabajar con múltiples versiones de Ruby, entonces debería usar rvm .

Recientemente me actualicé a Ubuntu 9.04 y tengo problemas al usar gemas. Instalé Ruby, Rubygems y Rails usando apt-get. El comando rails funciona.

Luego instalé capistrano y otras gemas, como heroku. Para hacer eso, utilicé el comando:

sudo gem install XXX

Cuando quiero usar el comando de cap no funciona:

bash: cap: command not found

Es lo mismo con los otros comandos de gemas.

¿Tengo algo especial que hacer para que los comandos de la gema funcionen?


Como señaló @Chris, necesitas agregar el entorno de gemas a tu camino. Puedes hacer esto por:

echo ''export PATH=$PATH:/var/lib/gems/1.8/bin'' | tee --append ~/.bashrc


La carpeta en la que se almacenan las gemas debe estar en su RUTA, por ejemplo, la mía es:

/home/victor/.gem/ruby/1.8/bin

Verifica tu camino tecleando

echo $PATH


Se ve que al instalar rubygems, ahora en ubuntu 9.04, tengo este problema. Noté que en el "entorno de gemas" el directorio ejecutable es "/var/lib/gems/1.8/bin", en lugar de "/ usr / bin" ... ¿Este es un problema con rubygems o con ubuntu 9.04?

La solución que encontré es agregar "/var/lib/gems/1.8/bin" a mi $ PATH haciendo esto: export PATH = $ PATH: /var/lib/gems/1.8/bin pero no se guarda ... ¿cómo puedo salvar mi camino?

Gracias...

Resolvi: coloquei o export PATH = $ PATH: /var/lib/gems/1.8/bin no ~ / .bashrc! =]


mkmf es parte del paquete ruby1.9.1-dev. Este paquete contiene los archivos de encabezado necesarios para las bibliotecas de extensión de Ruby 1.9.1. Necesita instalar el paquete ruby1.9.1-dev haciendo:

sudo apt-get install ruby1.9.1-dev