Ruby 宝石无法加载,尽管已安装

3

我知道Stack Overflow上有类似的问题,但是它们都没有解决我的问题... 问题的关键是在Ubuntu 10.04上干净安装Ruby 1.9.1后,我无法加载宝石(gems):

:~/$ 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 '<main>'
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/

有什么想法吗?提前感谢...

2个回答

2

您的gem环境变量和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/ruby1.9/gems/1.9.1链接到/opt/ruby1.9/lib/ruby/gems/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

谢谢你!我知道多一个人帮忙会很有帮助! - user578895

2

同时检查所有目录的访问权限。Ruby机器应该能够读取它们。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接