簡體   English   中英

寶石路徑問題:RubyGems尋找錯誤的地方

[英]Gem Path Issue: RubyGems looking in the wrong place

當我需要某些寶石時,其中一些可以工作,而其中一些不起作用。 他們似乎安裝了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文件中。 這沒有解決它。

我該怎么辦呢?

根據錯誤消息中的路徑,您的irb和應用程序可能正在使用默認的系統ruby。

which irb顯示什么? 您用來運行應用程序的命令行是什么?

您可能需要調整腳本的shebang行(以“#!”開頭的第一行)來使用/ opt / local / bin / ruby​​。

嘗試將此添加到您的.bashrc?

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

這會讓您的新寶石路徑成為第一個裂縫,而不是當前的錯誤默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM