2013-03-10 12 views
23

rbenvを使用してRuby 2.0.0をインストールしました。私のシステム用のグローバルなルビーバージョンに設定しました。 2.0は1.9.3と互換性があるので、Railsプロジェクトを起動しようとしましたが、次のエラーが発生しました。私はこれは私が2.0でそれを使用したい場合、私は1.9.3で、私のシステムにインストールされているすべての宝石を再インストールする必要があることを意味しています2.0ルビーのバージョンごとにすべての宝石を再インストールしますか?

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

をインストールした後rbenv rehashをしましたか?

+0

原則としてyesですが、私たちがインストールした宝石類を保管できる代替品があるかどうかを知りたいと思っています。 –

答えて

17

はい。 Rbenv(とRVM)は、インストールされているRubyのバージョンごとに別々の "gem home"ディレクトリを持っています。特定のディレクトリをシンボリックリンクして共有する方法があるかもしれませんが、特にネイティブC拡張を含む宝石では問題が発生する可能性があります。複数のバージョンでコンパイルしても正常に動作しない場合があります。

もしあなたがGemfileを持っていれば、最も簡単なことはRuby 2.0のためにもう一度bundle installになり、ネイティブの宝石の多くの宝石とRuby-2.0コンパイル版の複製を与えることです。見hereよう

48

あなたは、あなたが使うのRubyのバージョンごとバンドラを再インストールする必要があります。あなたはそれがインストールされているRubyのバージョンを参照してください。

rbenv whence bundle 

あなたの現在のバージョンを参照してください:

rbenv version 

欠落している場合は、そのバージョンのバンドラをインストールします。これに

gem install bundler 
+0

ニースの故障。 –

0

を別の解決策がにあります以前のバージョンから新しくインストールされたバージョンに宝石をコピー(または再インストール)します。その方法は、this questionで詳細に回答されています。このスクリプトには、1つがinstall from local cache、1がreinstall from the internet(鉱山)の2つのスクリプトがあります。

関連する問題