2011-12-03 75 views
2

我開始使用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的紅寶石版本管理不知道這是怎麼玩的東西。建議嗎?

+0

凡/你是怎麼設置使用rbenv當前的Ruby版本? –

+0

rbenv網站上的說明表示使用'rbenv global'。確切的指令說'全局設置或顯示全局Ruby版本'。如果我在shell中運行'rbenv global',它會顯示** 1.9.2-p290 ** – alenm

+1

您的路徑中可能有系統範圍的irb(運行'which irb'來確認)。這個irb會加載'/ usr/bin/ruby​​',這會繞過rbenv。我對rbenv不熟悉,但是我一直都在這裏看到同樣類型的問題。將你的系統範圍的irb重命名爲'irb_old',並確保你的rbenv目錄在你的路徑'echo $ PATH'中,你應該得到它的工作。 – Casper

回答

9

確保你正確設置你的路徑並在你正在使用的shell中初始化rbenv。

我添加以下行到我的.bash_profile:

export PATH="$HOME/.rbenv/bin:$PATH" 
eval "$(rbenv init -)" 

我擁有了你的表現,直到我想起這樣做的問題。

還記得設置紅寶石

4

一旦安裝使用Ruby rbenv的全局rbenv版本。

你有沒有使用命令

rebuilded墊片二進制文件$ rbenv老調重彈