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

Joh*_*ohn 5 ruby gem require rvm

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

# 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"
Run Code Online (Sandbox Code Playgroud)

根据这个页面: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]
Run Code Online (Sandbox Code Playgroud)

小智 6

尝试在开头添加以下行

require "rubygems"
Run Code Online (Sandbox Code Playgroud)


the*_*Man 2

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

您是否添加[[ -s '/usr/local/lib/rvm' ]] && source '/usr/local/lib/rvm'到您的~/.bashrc,~/.bash_profile~/.profile(无论您配置了哪个)?

对于正常的日常使用,我推荐 RVM 的默认设置: RVM 安装RVM gems 管理

自我提醒:购买 RVM 股票。太酷了。