前の回答のとおり、これはかなり多くのことをカバーしているので、これを簡単な紹介として考えてください。
gemは、Rubyライブラリのパッケージ方法です。それらはRubyに対するもので、jarはJavaに対するものです。gemファイル内には、Rubyコード(.rbファイル)だけでなく、テスト、および名前、依存関係、バージョンなどのgem自体に関する情報を提供する特別なファイル( gemspec)もあります。Rubyプロジェクトは、依存関係を宣言するだけの Gemfileを介して、必要なgemを定義できます。Rubygemsはパッケージマネージャーの名前です-パッケージのインストールに使用されるツールです(gemはパッケージそのものです)。RubygemsはRubyの一部になりました。
バンドラーは、管理宝石を我慢するものです。Gemfileに基づいて、 bundle installを使用してbundlerを呼び出すだけで、必要なすべてのgemがダウンロードおよびインストールされます。標準のgemコマンドを使用する場合は、を使用してそれぞれを手動でインストールする必要がありますgem install <gem_name>
。BundlerはRubyの一部ではありません(それ自体が gemとしてパッケージ化されています)が、ほとんどのアプリケーションの「事実上の標準」です(実際に使用していない人は多くなく、実際に使用しない理由はありません)。
RVMは、マシンにRubyの複数のバージョンをインストールし、必要に応じてそれらを切り替えることができるツールです。これは、Ruby 1.8と1.9、または「MRI」(MatzのRuby、デフォルトの実装)と代替(JRubyやRubiniusなど)の両方のインストールに使用できます。このフィールドではRVMだけではないことに注意してください。たとえば、 rbenvを参照してください。。。
RVM のgemsetは、特定のコンテキスト(通常はプロジェクト)に固有のgemのセットです。これは、たとえば、それぞれに独自の宝石セットがあり、それらを別々に保持したい場合に、異なるアプリケーションを開発している場合に役立ちます。
システムRubyは、RVMを使用する場合、マシンにインストールされているRubyバージョンです(つまり、RVMを介さない)。
始めたばかりなら、gemとbundlerはあなたにとって興味深いものです。今のところ、RVMとgemsetsを脇に置いておくことができます。