3

我开始使用 rbenv 进行 ruby​​ 版本管理,我发现 irb 没有加载正确的 ruby​​ 版本和 gem 版本。这是详细信息。

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 中,如果我输入:puts $:

`>> 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`

在外壳中我输入:gem 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 进行 ruby​​ 版本管理,不确定它是如何发挥作用的。建议?

4

2 回答 2

10

确保您正确设置路径并在您使用的 shell 中初始化 rbenv。

我在 .bash_profile 中添加了以下几行:

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

在我记得这样做之前,我遇到了您所展示的问题。

还记得设置你的全局 rbenv 版本的 ruby

于 2011-12-21T11:57:59.773 回答
6

一旦使用 rbenv 安装了 ruby​​。

您是否使用命令重建了 shim 二进制文件

$ rbenv 重新散列

于 2012-02-05T05:49:33.680 回答