Caminhos de instalação Ruby/gem espalhados por todo lado, causa?

Caminhos de instalação Ruby/gem espalhados por todo lado, causa?

você pode me ajudar a entender minha estrutura de pastas Ruby? Não entendo por que minhas joias estão espalhadas e por que não são comandos reconhecidos.

Vou explicar como é minha instalação primeiro:

/usr/bin/ruby
/usr/bin/ruby1.8
/usr/bin/ruby1.9.1

O primeiro é um link direto para ruby1.9.1 porque o comando "ruby" não funcionou no terminal. Fiz o mesmo com "gema". Instalei rubygems baixando, extraindo e executando setup.rb aqui: (criei a pasta "ruby")

/home/pc/ruby/rubygems-1.7.2/setup.rb

/usr/bin/gem
/usr/bin/gem1.8
/usr/bin/gem1.9.1

Instalei algumas gems com "sudo gem install"

> gem list

 *** LOCAL GEMS ***

 compass (0.10.6)
 haml (3.0.25)
 mustache (0.99.3)
 rake (0.8.7)

Até agora tudo bem? Bem, não exatamente, pois o comando "versão da bússola" parece não existir. Minha confusão aumenta a cada pasta que examino. O caminho a seguir não faz sentido para mim, por exemplo. Por que estaria escondido? Por que o bigode é a única joia nesta pasta?

/home/pc/.gem/ruby/1.9.1/cache/mustache-0.99.3.gem

Primeiro de tudo, aqui está o "ambiente gem", o que faz ainda menos sentido, porque eu definitivamente instalei o rubygems-1.7.2 como disse no primeiro parágrafo,mas aqui mostra uma versão antiga 1.3.7. Por que?Instalei o Ubuntu anteontem.

  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 retorna "ruby 1.8.7"........... Além disso, todas as gems estão instaladas nesta pasta (bigode também! mesmo que já esteja dentro da outra pasta) , assim como afirma o "ambiente Ruby":

/var/lib/gems/1.9.1/gems

Mas nenhuma dessas joias funciona. Não posso ligar para nenhum desses, exceto rake. Então foi aqui que provavelmente cometi o erro, acho que usei "apt-get install rake" além de "gem install rake", porque o comando "rake" não foi reconhecido e o prompt de comando o sugeriu. Talvez eu tenha feito isso com rubygems também... Sou novo no Linux e percebi que o prompt de comando sabia como instalar esse material corretamente.

.

Não pode ser normal eu ter que criar syslinks por toda parte, certo?No Windows não tive esse problema.

Responder1

Eu instalei o rvm, ainda não sei por que houve tanta bagunça, mas agora posso forçar facilmente uma determinada versão do Ruby e sei onde todas as gemas são instaladas. (no diretório rvm) Funciona para mim.

Responder2

Acho que o seu problema é instalar RubyGemsmanualmente e não com o apt-get. Você possivelmente fez o mesmo rubyou está faltando um meta-pacote que inclui o link simbólico que você criou manualmente.

Esta também é a mesma razão pela qual /var/lib/gems/1.9.1/bino diretório onde estão todos os binários não está em seu $PATH. Portanto, você não consegue encontrar os executáveis ​​para essas joias.


Ao atualizar do Ruby 1.8 para o Ruby 1.9.3, as gems instaladas com o Ruby 1.8 ainda estarão na pasta Ruby 1.8. Você possivelmente tem RubyGems instalado com uma versão Ruby diferente.


O caminho a seguir não faz sentido para mim, por exemplo. Por que estaria escondido? Por que o bigode é a única joia nesta pasta?

/home/pc/.gem/ruby/1.9.1/cache/mustache-0.99.3.gem

Você obviamente instalou o bigode (sem sudo) com

gem install mustache

Isso o instala para o usuário e o diretório de instalação do usuário é $HOME/.gem/. A pasta fica oculta para que você não a exclua acidentalmente. Talvez você precise adicionar isso ao seu $PATH (ou instalar com --no-user-install)


solução:

Não basta baixar e instalar RubyGems (e Ruby) manualmente. Use seu gerenciador de pacotes ( aptitude)

Depois você pode decidir se deseja instalar gems com aptitudeou gem install: instalar pacotes através do apt-get-or-gem.

informação relacionada