2012-01-09 8 views
0

私が作業しようとしているプロジェクトは、バージョン1.0.10のbundlerとバージョン0.8.7のレーキです。私のグローバルな宝石は、これらの宝石の若干新しいバージョンを持っています。すなわち、新しいプロジェクトのためのインストールの手順は次のようになります。RVMはグローバルジェムセットから宝石を隠すことができますか?

rvm gemset use rails3 
gem uninstall -x bundler 
gem install bundler -v 1.0.10 
gem uninstall -x rake 
gem install rake -v 0.8.7 # Rake needs to be at 0.8.7 

何が起こるかというと、私はこの新しいrails3 gemsetにいるとき、私は既存の宝石をアンインストールすることはできません(と個人的に私はしたくないということです)これはグローバルな宝石に存在するからです。

質問:私はどういうわけかグローバルジェムセットに存在する2つの宝石?

私は宝石を一覧表示することができます:

$ gem list 
*** LOCAL GEMS *** 
addressable (2.2.6) 
archive-tar-minitar (0.5.2) 
awesome_print (1.0.1) 
bundler (1.0.21, 1.0.10) 
... 
rake (0.9.2.2, 0.8.7) 
... 

たぶん、補助的な質問は次のようになります。私はrails3のgemsetに古いバージョンをインストールしていることから、RVM彼らが具体的にどういうわけかインストールされていた事実ので、それらを好むでしょうのバージョンをグローバルで上書きするか、またはrvmが最高のバージョン番号を持つ宝石を取るか?

答えて

0

bundleコマンドを実行するためにあなたが私の宝石rubygems-bundler

を使用して書き込み常にbundle execを回避することができます

Gemfileを使用して)使用されているbundle以外の任意のコマンドがbundle execで始めなければなりません、これは宝石の適切なバージョンを保証します - ruby​​gemsは、exを指定していない場合は最新のバージョンを選択します。 bundle _1.0.10_ exec rake db:create

関連する問題