即使安装了gem,Ruby也找不到所需的库

我花了几天时间尝试安装ruby 1.9.2并使用gems: – /我最终放弃了我的Mac OSX 10.6机器,下面是我的Ubuntu机器上的当前状态。 任何建议将不胜感激!

# ruby test.rb :29:in `require': no such file to load -- mongo (LoadError) from :29:in `require' from test.rb:1:in `' # 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" 

根据这个页面: http : //docs.rubygems.org/read/chapter/19我用symlinked我用来匹配gem正在使用的ruby:

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

为什么“rvm”会显示在/usr/local/rvm/ path中? 作为系统管理员,您是否使用为多个用户管理Ruby系统 ,是否进行了系统范围的安装?

你有没有[[ -s '/usr/local/lib/rvm' ]] && source '/usr/local/lib/rvm'~/.bashrc~/.bash_profile~/.profile (以你为准)已配置)?

对于正常的,每天使用,我建议RVM的默认设置: RVM安装 , RVMgem管理 。

自我注意:在RVM中购买股票。 太酷了。

尝试在开头添加以下行

 require "rubygems" 

它是否在Ruby 1.8.7下工作,默认情况下在OS X上预安装?

如果是这样,1.9.1和1.9.2之间的一个区别就是"." 不再是$:的路径的一部分了。

我建议您执行rvm implode并删除当前设置。 然后使用railsready脚本在Ubuntu上为您正确设置RVM和Ruby。 重要的是要明白,除非您知道自己在做什么,否则应该以用户身份运行脚本。 希望有所帮助。

在Linux和OS X上,我一直不得不在开头放置require“rubygems”。 然而,在Windows上没有这一行的情况下它总是很好。