Ruby ne peut pas trouver les bibliothèques nécessaires même si petit bijou est installé

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

  •  25-09-2019
  •  | 
  •  

Question

J'ai passé littéralement des jours à essayer d'installer Ruby 1.9.2 et le faire fonctionner avec des pierres précieuses: - / J'ai finalement renoncé à ma machine Mac OS X 10.6 et ci-dessous est l'état actuel sur ma machine Ubuntu. Tout conseil serait grandement appréciée!

# 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"

Selon cette page: http://docs.rubygems.org/read/chapter/19 Je que je RUBY un lien symbolique employais pour correspondre à ce qui bijou utilise:

# 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]
Était-ce utile?

La solution

Pourquoi « RVM » affiche dans votre chemin de /usr/local/rvm/? Avez-vous fait l'ensemble du système d'installation, en tant qu'administrateur système en utilisant administration système Ruby large pour plusieurs utilisateurs?

Avez-vous ajouté à votre [[ -s '/usr/local/lib/rvm' ]] && source '/usr/local/lib/rvm' ~/.bashrc, ~/.bash_profile ou ~/.profile (selon ce que vous avez configuré)?

Pour la normale, utilisation quotidienne, je recommande la configuration par défaut de RVM: RVM , RVM de gestion des pierres précieuses.

Note à moi: acheter des actions RVM. Il est trop cool.

Autres conseils

Essayez de mettre la ligne suivante au début

require "rubygems"

Est-ce que ça fonctionne sous Ruby 1.8.7, qui est pré-installé par défaut sur OS X?

Dans ce cas, une différence entre 1.9.1 et 1.9.2 est que "." ne fait pas partie du chemin de $: plus.

Je vous recommande de faire rvm implode et supprimer la configuration actuelle. Ensuite, utilisez le scénario railsready RVM de configuration et Ruby correctement pour vous sur Ubuntu. Il est important de comprendre que jusqu'à ce que vous savez ce que vous faites, vous devez exécuter le script en tant qu'utilisateur. Hope qui aide.

Linux et OS X, je l'ai toujours dû mettre require « rubygems » au début. Cependant, il a toujours bien fonctionné sans cette ligne sur les fenêtres.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top