2010-09-19 152 views
2

RubyGems報告與運行ruby --version不同的ruby版本。尋找診斷和解決此問題的建議。 OS是OS X 10.5。ruby​​版本和gem的ruby版本不匹配

lando-macbook:rubygems-1.3.7 lando$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.7 
    - RUBY VERSION: 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0] 
    - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8 
    - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby 
    - EXECUTABLE DIRECTORY: /usr/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - universal-darwin-9 
    - GEM PATHS: 
    - /Library/Ruby/Gems/1.8 
    - /Users/lkuhn/.gem/ruby/1.8 
    - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

lando-macbook:rubygems-1.3.7 lando$ ruby --version 
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin9] 

lando-macbook:rubygems-1.3.7 lando$ which ruby 
/opt/local/bin/ruby 
+1

什麼是'哪個ruby'的輸出? – prodigitalson 2010-09-19 20:05:02

+0

/opt/local/bin/ruby​​,並添加到問題 – 2010-09-19 20:10:18

+0

我想我需要知道的是,鋤頭RubyGem是否找到了Ruby可執行文件? – 2010-09-19 20:20:55

回答

0

問題是你在/ opt/local/bin中有一個ruby可執行文件,它可能在某些時候由macports安裝。要麼刪除這個ruby可執行文件,要麼從PATH變量中刪除/ opt/local/bin應該可以解決你的問題。寶石告訴你到底在哪裏,它期望找到紅寶石及其相關的可執行文件:

RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby 
    - EXECUTABLE DIRECTORY: /usr/bin 
+0

/opt/local/bin中的版本是我需要使用的更新版本。我使用macpoo是因爲我不知道如何更新/ System /中的版本...我如何更新該版本? – 2010-09-19 21:10:48

+0

更新您的系統版本可能會被告知,因爲某些特定於Mac的實用程序可能依賴於版本x在那裏... – ChristopheD 2010-09-20 00:14:09