[英]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.