RVMを使用してローカルの Ruby インストールを管理し、Bundlerをアプリケーションの依存関係管理に使用しています。
アプリケーションごとに個別の RVM gemsetを使用することを推奨する人もいれば、その必要はないと考える人もいます。
では、Bundler を使用している場合、アプリケーションごとに個別の RVM gemset を使用する利点は何ですか? そうしないことのリスクは何ですか?
Rails 2 を使用している場合、rvm があると便利であることがわかりました。RVM は、古いコードを含むアプリで作業する必要がある場合に最適です。Rails 2 は Gemfile を使用しないため、動作bundle execしません。RVM を使用すると、そのプロジェクトに適した gem バージョンを簡単に維持できます。また、新しいバージョンの Rails に切り替えて、Gemfile を使用してバージョンを指定することもできます。異なるバージョンの gem を使用するアプリが複数あるが、同じバージョンの ruby を使用している場合、ほとんどの gem を共有し、異なる場所で Gemfile に指定すると便利です。
ケース依存のようなものだと思います。2 つのアプリの間に大量のバージョンの問題があり、Gemfile を常に修正してそれらを正しく保つのが煩わしい場合は、別の gemset を使用してください。十分な共通点がある場合は、同じ gemset を使用するのが理にかなっているかもしれません
次の理由により、バンドラーに加えてジェムセットを使用します。
bundle exec(これは binstubs では廃止されました)それらを使用する理由はおそらく他にもありますが、私は一般的にサンドボックスのアイデアが好きです!
プロジェクトの Gemfile と併せて、fast/globalcache_comment_test.sh にある rvm-test の形式の「globalcache」ドキュメントも参照してください。
これにより、rubygems.org へのネットワーク トラフィックも削減されます。グローバルの初期ロードアウト。
RVM gemset を使用すると、バンドラーをロードせずに gem を分離できます。これはより高速で、gem のロードがより簡単になります。
プロジェクトをヘルパー gem ( など) から分離するために、gemset を使用する必要がありますgist。
しかし、gemset が役に立たないと判断した場合は、RVM に gemset を完全に無視するように指示できます。
echo "export rvm_ignore_gemsets_flag=1" >> ~/.rvmrc