Ruby não consegue encontrar as bibliotecas necessárias, mesmo que a GEM esteja instalada

StackOverflow https://stackoverflow.com/questions/4207992

  •  25-09-2019
  •  | 
  •  

Pergunta

Passei literalmente dias tentando instalar o Ruby 1.9.2 e fazer com que ele trabalhe com gemas:-/ Eventualmente desisti da minha máquina Mac OSX 10.6 e abaixo está o estado atual da minha máquina Ubuntu. Qualquer conselho seria muito apreciado!

# ruby test.rb
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- mongo (LoadError)
 from <internal:lib/rubygems/custom_require>:29:in `require'
 from test.rb:1:in `<main>'
# cat test.rb
require 'mongo'
db = Mongo::Connection.new.db("mydb")
# gem which mongo
/usr/local/rvm/gems/ruby-1.9.2-p0/gems/mongo-1.1.2/lib/mongo.rb
# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"

De acordo com esta página: http://docs.rubygems.org/read/chapter/19Eu simplificei qual rubi eu estava usando para combinar com o que está usando:

# which ruby
/usr/local/rvm/bin/ruby
# ls -l `which ruby`
lrwxrwxrwx 1 root root 44 2010-11-17 13:25 /usr/local/rvm/bin/ruby -> /usr/local/rvm/rubies/ruby-1.9.2-p0/bin/ruby
# gem env | grep 'RUBY EXECUTABLE'
  - RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-1.9.2-p0/bin/ruby
# which gem
/usr/local/rvm/bin/gem
# gem -v
1.3.7
# ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
Foi útil?

Solução

Por que "RVM" está exibindo em seu /usr/local/rvm/ caminho? Você fez uma instalação em todo o sistema, como um administrador do sistema usando Administrando o sistema de rubi largo Para vários usuários?

Você acrescentou [[ -s '/usr/local/lib/rvm' ]] && source '/usr/local/lib/rvm' para o seu ~/.bashrc, ~/.bash_profile ou ~/.profile (o que você configurou)?

Para uso normal, todos os dias, recomendo a configuração padrão do RVM:Instalação do RVM, RVM GEMS Gerenciamento.

Nota para si mesmo: compre ações no RVM. É muito legal.

Outras dicas

Tente colocar a seguinte linha no começo

require "rubygems"

Funciona no Ruby 1.8.7, que é pré-instalado por padrão no OS X?

Nesse caso, uma diferença entre 1.9.1 e 1.9.2 é que "." não faz parte de $:é mais um caminho.

Eu recomendo que você faça rvm implode e exclua a configuração atual. Em seguida, use o Railsready Script para configurar RVM e Ruby adequadamente para você no Ubuntu. É importante entender que, até que você saiba o que está fazendo, você deve executar o script como usuário. Espero que ajude.

No Linux e OS X, eu sempre tive que colocar requer "rubygems" no começo. No entanto, sempre funcionou bem sem essa linha no Windows.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top