2011-07-31 11 views
1

宝石のインストールに関する簡単な質問 - bundle installを使用すると、私のプロジェクトに必要な宝石がインストールされますが、自分のコンピュータの他のプロジェクトには影響しません。もし私がgem install name_of_gemを使用しているのであれば、それは現在のプロジェクトにのみ影響しますか、それともレール(一般的なインストール)を使って私のコンピュータ上のすべてのプロジェクトに影響しますか?一般的に私は、宝石のインストールがいかに正確に行われているかについて少し混乱していると思うので、答えが一般的な背景情報を含んでいれば、これが理解できるようになります。Rails - gemのインストール

答えて

1

通常、宝石はシステム全体にインストールされていますが、ホームディレクトリにはこれが不可能です。デフォルトでは、アプリケーションがgemを使用すると、RubyGemsは最新のインストール済みバージョンをロードします。

require 'rubygems' 
gem 'RedCloth', '3.0' 

バンドラーは、プロジェクトを開発するために使用されている宝石のバージョンを追跡する便利なツールで、その後、あなたはできます:あなたが特定のバージョンを使用したい場合は、RubyGemsのは、この構文を使用していることを行うことができます1人でインストールするには、bundle installで慌てて、それらの正確なバージョンをロードしてください。アプリケーションは、Bundlerコードをロードすることによってそれらをロードします.Bundlerコードは、Gemfileで指定されたバージョンを使用するRubyGemの一部をオーバーライドします。

デフォルトでは、BundlerはRubyGemsを呼び出して宝石(システム全体またはあなたのホームディレクトリ)をインストールするだけです。 bundle packageを使って、vendor/cacheというディレクトリに宝石を保存するように頼むことができます。これにより、宝石をソースコードとともに配布することができるように、それらを凍結することができます。

あなたのRuby環境をさらに孤立させたい場合は、別のプロジェクトで使用するために孤立した宝石セット、実際には異なるバージョンのRubyをセットアップできるように、RVMを使用する必要があります。 RVMを使用している場合、RubyGemsがインストールするディレクトリは、現在のRubyのバージョンとgemsetに特有のものです。

RubyGemsBundlerの両方のドキュメントを読むことをおすすめします。彼らはどちらもかなり良いです。

1

あなたが宝石をインストールバンドルんRubyGemsのでを設置していて、RVMを使用して、あなたのプロジェクトのためのgemsetsを設定している場合を除き、すべてのプロジェクトのために利用できるようになります。

あなたがRVMを使用していないとあなたはあなたがsudoのそれはだ宝石をインストールする場合は、お使いのオペレーティングシステムは、おそらく、あなたの現在のユーザーのファイル(通常は〜/ .gem)で宝石をインストールしようとしているが宝石をインストールしますあなたのシステムRubyがインストールされている場所がどこにでもインストールされます。

RVMをセットアップするには、宝石とルビーの別々のグループを管理することをお勧めします。上にリンクされたウェブサイト、またはa simple tutorial I wrote to use itを読むことができます。

+0

私のケースでは、1つのプロジェクトでRake 0.9.2が使用されています.Rake 0.8.7に切り替える必要があります。しかし、私がRake 0.9.2に残したい2番目のプロジェクトです。 'gem uninstall rake -v = 0.9.2'とバンドル内で' bundle update 'を使用してrake 0.8.7を指定した場合、これはrake 0.9.2に依存する2番目のプロジェクトにも影響しますか?そしてもしそうなら、私はこれをどのように解決するのですか? – Kvass

+0

@Kvass:RVMはこの場合に適しています。あなたが望むなら、Gemfileで指定し、代わりに 'bundle exec rake'を使うことができます(私はこれがうまくいくと思いますが、チェックしていません)。しかし、Bundlerは環境の分離ではなく、依存性の管理を目的としています。後者が必要な場合は、RVMを使用する必要があります。 RVMとBundlerはうまくいっています。 –

+0

rvmはWindows上で動作しますか/ Windows用のガイドはどこにありますか? – Kvass

関連する問題