24

rbenv を使用して Ruby 2.0.0 をインストールし、システムのグローバル Ruby バージョンに設定しました。2.0 は 1.9.3 と互換性があるため、Rails プロジェクトを起動しようとしましたが、次のエラーが発生しました。rbenv rehash2.0をインストールした後にやった

The `rails' command exists in these Ruby versions:
  1.9.3-p327

これは、1.9.3 でシステムにインストールしたすべての gem を 2.0 で使用したい場合、再インストールする必要があるということですか?

4

3 に答える 3

49

ここに見られるように:

使用するRubyのバージョンごとにbundlerを再インストールする必要があります。インストールされているRubyのバージョンを参照してください。

rbenv whence bundle

現在のバージョンを参照してください。

rbenv version

不足している場合は、そのバージョンのバンドラーをインストールします。

gem install bundler
于 2013-03-10T20:51:07.663 に答える
17

はい。Rbenv(およびRVM)には、インストールされているRubyのバージョンごとに個別の「gemhome」ディレクトリがあります。特定のディレクトリをシンボリックリンクして共有する方法があるかもしれませんが、これは特に問題を引き起こす可能性があります。特に、複数のバージョンでコンパイルおよび実行されないネイティブC拡張機能を含むgemの場合はそうです。

Gemfileがある場合、最も簡単なのはbundle install、Ruby 2.0をもう一度使用して、多くのgemの複製コピーとRuby-2.0でコンパイルされたバージョンのネイティブgemを提供することです。

于 2013-03-10T20:48:10.303 に答える