即使安装了Ruby gem也不会加载

我知道在SO上有类似的问题,但没有一个能解决我的问题……它的要点是我无法在Ubuntu 10.04上安装干净的Ruby 1.9.1上加载gem:

:~/$ irb irb(main):001:0> require 'rubygems' => false irb(main):002:0> require 'cassandra' LoadError: no such file to load -- cassandra from (irb):1:in 'require' from (irb):1 from /usr/local/bin/irb:12:in '' irb(main):003:0> Gem.path => ["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"] irb(main):004:0> exit :~/$ ls /opt/ruby1.9/lib/ruby/gems/1.9.1/gems/ cassandra-0.8.2 eventmachine-0.12.10 json-1.4.6 rake-0.8.7 simple_uuid-0.1.1 thrift-0.2.0.4 thrift-0.4.0 thrift_client-0.5.0 :~/$ gem list --local *** LOCAL GEMS *** cassandra (0.8.2) eventmachine (0.12.10) json (1.4.6) rake (0.8.7) simple_uuid (0.1.1) thrift (0.4.0, 0.2.0.4) thrift_client (0.5.0) :~/$ gem env RubyGems Environment: - RUBYGEMS VERSION: 1.3.7 - RUBY VERSION: 1.9.1 (2009-05-12 patchlevel 129) [x86_64-linux] - INSTALLATION DIRECTORY: /opt/ruby1.9/lib/ruby/gems/1.9.1 - RUBY EXECUTABLE: /opt/ruby1.9/bin/ruby1.9 - EXECUTABLE DIRECTORY: /opt/ruby1.9/bin - RUBYGEMS PLATFORMS: - ruby - x86_64-linux - GEM PATHS: - /opt/ruby1.9/lib/ruby/gems/1.9.1 - /home/mark/.gem/ruby/1.9.1 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/ 

有任何想法吗? 提前致谢…

您的gem env和Gem.path不一致。

你的Gem.path正在查看["/opt/ruby1.9/lib/ruby1.9/gems/1.9.1"]但你的gem env正在查看/opt/ruby1.9/lib/ruby/gems/1.9.1

作为快速检查,为什么不从/opt/ruby1.9/lib/ruby/gems/1.9.1到/opt/ruby1.9/lib/ruby1.9/gems/1.9.1创建一个符号链接到/ opt / ruby1.9 / lib中/ruby/gem/ 1.9.1

 sudo ln -s /opt/ruby1.9/lib/ruby1.9/gems/1.9.1 /opt/ruby1.9/lib/ruby/gems/1.9.1 

还要检查所有目录的访问权限。 Ruby机器应该能够全部读取它们。