3

ruby のバージョン管理に rbenv を使い始めましたが、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 $:  
/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 パスをロードしていることがわかります。誰かがこれを修正する方法を理解するのを手伝ってくれますか? Rubyのバージョン管理にrbenvを使用していますが、それがどのように機能するかわかりません。アドバイス?

4

2 に答える 2

10

パスを正しく設定し、使用しているシェルで 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 に答える