
¿Puedes ayudarme a comprender la estructura de mi carpeta Ruby? No entiendo por qué mis gemas están esparcidas por todas partes y por qué no son comandos reconocidos.
Primero explicaré cómo se ve mi instalación:
/usr/bin/rubí
/usr/bin/rubí1.8
/usr/bin/rubí1.9.1
El primero es un enlace suave a ruby1.9.1 porque el comando "ruby" no funcionó en la terminal. Hice lo mismo con "gema". Instalé rubygems descargando, extrayendo y luego ejecutando setup.rb aquí: (creé la carpeta "ruby")
/home/pc/ruby/rubygems-1.7.2/setup.rb
/usr/bin/gem
/usr/bin/gem1.8
/usr/bin/gem1.9.1
Instalé algunas gemas con "sudo gem install"
> gem list
*** LOCAL GEMS ***
compass (0.10.6)
haml (3.0.25)
mustache (0.99.3)
rake (0.8.7)
¿Hasta ahora, todo bien? Bueno, no del todo, ya que resulta que el comando "versión de brújula" no parece existir. Mi confusión crece con cada carpeta que miro. El siguiente camino no tiene ningún sentido para mí, por ejemplo. ¿Por qué estaría oculto? ¿Por qué el bigote es la única joya dentro de esta carpeta?
/home/pc/.gem/ruby/1.9.1/cache/mustache-0.99.3.gem
En primer lugar, aquí está el "entorno de gemas", que tiene aún menos sentido, porque definitivamente instalé rubygems-1.7.2 como les dije en el primer párrafo.pero aquí muestra una versión antigua 1.3.7. ¿Por qué?Instalé Ubuntu anteayer.
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.2 (2010-08-18 patchlevel 0) [x86_64-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
- RUBY EXECUTABLE: /usr/bin/ruby1.9.1
- EXECUTABLE DIRECTORY: /var/lib/gems/1.9.1/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /var/lib/gems/1.9.1
- /home/pc/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
ruby --version devuelve "ruby 1.8.7" ......... Además, resulta que todas las gemas están instaladas en esta carpeta (¡bigote también! aunque ya está dentro de la otra carpeta) , tal como afirma el "entorno ruby":
/var/lib/gems/1.9.1/gems
Pero ninguna de estas joyas funciona. No puedo llamar a ninguno de estos, excepto al rastrillo. Así que aquí es donde probablemente cometí el error, creo que usé "apt-get install rake" además de "gem install rake", porque el comando "rake" no fue reconocido y el símbolo del sistema lo sugirió. Es posible que también lo haya hecho con rubygems... Soy nuevo en Linux y pensé que el símbolo del sistema sabía cómo instalar esto correctamente.
.
No puede ser normal que tenga que crear enlaces del sistema por todas partes, ¿verdad?En Windows no tuve este problema.
Respuesta1
Instalé rvm, todavía no sé por qué hubo tal desastre, pero ahora puedo forzar una determinada versión de Ruby fácilmente y sé dónde se instalan todas las gemas. (en el directorio rvm) Funciona para mí.
Respuesta2
Supongo que tu problema es instalar RubyGems
manualmente y no con apt-get. Posiblemente hiciste lo mismo ruby
o te falta un metapaquete que incluye el enlace simbólico que creaste manualmente.
Esta es también la misma razón por la cual /var/lib/gems/1.9.1/bin
el directorio donde están todos los archivos binarios no está en su $PATH. Entonces no puedes encontrar los ejecutables de estas gemas.
Cuando actualiza de Ruby 1.8 a Ruby 1.9.3, las gemas instaladas con Ruby 1.8 seguirán en la carpeta Ruby 1.8. Posiblemente tengas RubyGems instalado con una versión de Ruby diferente.
El siguiente camino no tiene ningún sentido para mí, por ejemplo. ¿Por qué estaría oculto? ¿Por qué el bigote es la única joya dentro de esta carpeta?
/home/pc/.gem/ruby/1.9.1/cache/mustache-0.99.3.gem
Obviamente instalaste bigote (sin sudo) con
gem install mustache
Esto lo instala para el usuario y el directorio de instalación del usuario es $HOME/.gem/
. La carpeta está oculta para que no la elimines accidentalmente. Es posible que tengas que agregar eso a tu $PATH (o instalarlo con --no-user-install
)
solución:
No se limite a descargar e instalar RubyGems (y Ruby) manualmente. Utilice su administrador de paquetes ( aptitude
)
Luego puedes decidir si quieres instalar gemas con aptitude
o gem install
:
instalar-paquetes-a través-de-apt-get-or-gem.