我開始使用rbenv進行ruby版本管理,我發現irb沒有加載正確的ruby版本和寶石版本。這裏是細節。irb加載錯誤的紅寶石和寶石路徑,使用rbenv
IRB Gem.path說:
`>> Gem.path
=> ["/Users/Air/.gem/ruby/1.8", "/Library/Ruby/Gems/1.8", "/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8"]`
現在IRB如果I型:把$:
`>> puts $:
/Library/Ruby/Site/1.8
/Library/Ruby/Site/1.8/powerpc-darwin11.0
/Library/Ruby/Site/1.8/universal-darwin11.0
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8 /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby/1.8/universal-darwin11.0
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/powerpc-darwin11.0
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/universal-darwin11.0`
在外殼I型:寶石ENV
`RubyGems Environment:
- RUBYGEMS VERSION: 1.8.10
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [x86_64-darwin11.0.1]
- INSTALLATION DIRECTORY: /Users/Air/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE: /Users/Air/.rbenv/versions/1.9.2-p290/bin/ruby
- EXECUTABLE DIRECTORY: /Users/Air/.rbenv/versions/1.9.2-p290/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-11
- GEM PATHS:
- /Users/Air/.rbenv/versions/1.9.2-p290/lib/ruby/gems/1.9.1
- /Users/Air/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/`
我可以看到irb加載錯誤的Ruby版本並加載了錯誤的Gem路徑。有人可以幫助理解我該如何解決這個問題。我正在使用rbenv的紅寶石版本管理不知道這是怎麼玩的東西。建議嗎?
凡/你是怎麼設置使用rbenv當前的Ruby版本? –
rbenv網站上的說明表示使用'rbenv global'。確切的指令說'全局設置或顯示全局Ruby版本'。如果我在shell中運行'rbenv global',它會顯示** 1.9.2-p290 ** – alenm
您的路徑中可能有系統範圍的irb(運行'which irb'來確認)。這個irb會加載'/ usr/bin/ruby',這會繞過rbenv。我對rbenv不熟悉,但是我一直都在這裏看到同樣類型的問題。將你的系統範圍的irb重命名爲'irb_old',並確保你的rbenv目錄在你的路徑'echo $ PATH'中,你應該得到它的工作。 – Casper