rubygems – Ruby无法找到已安装的宝石

我的智慧结束了.我在OSX10.6上,我的宝石都搞砸了.我试图使用的宝石之一是Hashie.我在互联网上环顾四周,有几个人似乎遇到了类似的问题,但我的解决方案似乎都不适用于我的情况.谢谢你的期待.

我的所有ruby脚本/ gem都安装在/opt/ruby-enterprise-1.8.7-2010.02中:

Komputor:~$which ruby gem irb rails
/opt/ruby-enterprise-1.8.7-2010.02/bin/ruby
/opt/ruby-enterprise-1.8.7-2010.02/bin/gem
/opt/ruby-enterprise-1.8.7-2010.02/bin/irb
/opt/ruby-enterprise-1.8.7-2010.02/bin/rails

并安装了示例gem,hashie(和许多其他):

Komputor:~ $gem list -l | wc -l
      67
Komputor:~ $gem list | grep hashie
hashie (0.4.0)
Komputor:gems $cd /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems
Komputor:gems $ls | grep hashie
drwxr-xr-x  13 root  admin   442 Nov 24 17:13 hashie-0.4.0

然而,当我尝试从irb或脚本访问它们时,它都失败了:

Komputor:~ $irb
irb(main):001:0> require 'hashie'
LoadError: no such file to load -- hashie
    from (irb):1:in `require'
    from (irb):1
irb(main):002:0>

一些环境变量:
宝石环境:

Komputor:gems $gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2010-04-19 patchlevel 253) [i686-darwin10.4.0]
  - INSTALLATION DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /opt/ruby-enterprise-1.8.7-2010.02/bin/ruby
  - EXECUTABLE DIRECTORY: /opt/ruby-enterprise-1.8.7-2010.02/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-darwin-10
  - GEM PATHS:
     - /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8
     - /Users/<snip>/.gem/ruby/1.8
  - GEM CONfigURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

$PATH:

Komputor:gems $echo $PATH
/sw/bin:/sw/sbin:/opt/ruby-enterprise-1.8.7-2010.02/bin:/Applications/android-sdk-1.5/tools:/usr/brlcad/bin:/usr/local/MysqL-5.0.67-osx10.5-x86_64/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/mongodb/bin:/sw/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/X11/bin:/usr/X11R6/bin

我很乐意发布任何调试命令的输出.

谢谢你的期待!

解决方法

正如Adam Vandenberg指出的那样,在加载宝石之前,你需要“rubygems”

有些框架可能会为您加载,如果您愿意,可以将其设置为.irbrc中的自动加载

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...