宝石路径问题:RubyGems寻找错误的地方

时间:2011-09-14 13:31:25

标签: ruby rubygems gem

当我需要某些宝石时,其中一些是有效的,有些则不起作用。他们似乎安装了find,我可以做一个宝石列表,他们就在那里。但是,当我尝试在Irb中运行它们或从终端运行我的ruby程序时,我得到以下结果:

LoadError: no such file to load -- sanitize

/Library/Ruby/Site/1.8/rubygems/custom_require.rb:54:in `gem_original_require'

所以我按照RubyGems的指南进行操作,一切似乎都很好:

noahclark$ gem list sanitize
*** LOCAL GEMS ***
sanitize (2.0.3)


noahclark$ ruby -rubygems -e 'require "sanitize"'
noahclark$ 

noahclark$ which ruby
/opt/local/bin/ruby
noahclark$  gem env | grep 'RUBY EXECUTABLE'
- RUBY EXECUTABLE: /opt/local/bin/ruby

然后我尝试了:

noahclark$ which gem
/opt/local/bin/gem

noahclark$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10]
- INSTALLATION DIRECTORY: /opt/local/lib/ruby/gems/1.8
- RUBY EXECUTABLE: /opt/local/bin/ruby
- EXECUTABLE DIRECTORY: /opt/local/bin
- RUBYGEMS PLATFORMS:
    - ruby
   - x86-darwin-10
 - GEM PATHS:
    - /opt/local/lib/ruby/gems/1.8
    - /Users/noahclark/.gem/ruby/1.8
 - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
    - :benchmark => false
    - :backtrace => false
    - :bulk_threshold => 1000
 - REMOTE SOURCES:
    - http://rubygems.org/

您可以看到哪个gem和gem环境正在查看两个单独的目录。我一直在寻找修复程序,我只能找到一些建议将导出PATH = $ PATH:/ opt / local / bin / gem添加到我的.bashrc文件中。这没有解决它。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

根据错误消息中的路径,您的irb和应用可能正在使用默认的系统ruby。

which irb显示什么? 您用来运行应用程序的命令行是什么?

您可能需要调整脚本的shebang行(以“#!”开头的第一行)来使用/ opt / local / bin / ruby​​。

答案 1 :(得分:3)

尝试将此添加到.bashrc?

export PATH=/opt/local/bin/gem:$PATH

这会让您的新宝石路径成为第一个裂缝,而不是当前的错误默认路径。