2016-06-13 4 views
0

ルビーバージョンマネージャ(RVMまたはRbenv)の好みのフレーバを使用すると、ルビーの宝石はルビーバージョンごとに分離されます。開発中の複数のレールアプリケーションを正しく分離する方法(ローカルマシン)

  1. のは、我々はローカルに複数のアプリケーションで動作するようにしたいとしましょう(彼らは完全に別のアプリケーションです)、私たちはどのように我々は適切に彼らと彼らの宝石を隔離するか、同じルビーバージョンと同じレールのバージョンを使用したいですか?宝石セットはここに(唯一)答えていますか?私が同じルビーバージョンのアプリケーションを5つ持っていて、すべての5つの面で宝石を追加し続けているということは、アプリケーションの1つが最新の安定した宝石のバージョンで大丈夫だということです。従来の依存関係やその他の理由で、同じ宝石の古いバージョンで。あなたはどうやってこの時限爆弾を避けますか?

  2. 複数のアプリケーションで同じRubyバージョンを使用したいが、異なるRailsバージョンを使用する場合はどうすればよいですか? "ただの宝石"であるレールは、上記と同じ答えですか?

ありがとう。

+2

これはまさにBundlerが解決する問題です。 'bundle exec 'を実行すると、 'Gemfile.lock'で指定されたgemバージョンを使用します。つまり、あなたが望む特定の宝石のバージョンをいくつでも持つことができますが、アプリケーションの起動時にアプリケーションごとに正しいバージョンが選択されます。 –

+0

ありがとう@JonCairns。だから、複数のローカルアプリが正確なルビーバージョンを共有しているとすぐに、私は混乱、欲求不満、悲惨な心を避けたいです。**常に**すべての**コマンドに 'bundle exec 'を追加するべきですか?これは私がずっとやっていなかったことなので、私は今までに説明できない紛争にぶつからないことは幸運だったと思います... – zbiber

+0

これはまさに正しいことです。 、 あなたが言うように! –

答えて

1

私が使用することをお勧めします:

  • rbenv

.ruby_versionをプッシュすることを確認し、各アプリケーションの依存関係を定義するために、同じマシン

  • bundler上で複数のRubyバージョンを処理するために、 GemfileGemfile.lockを使用して、それぞれがそれぞれの宝石の適切なバージョンを使用していることを確認してください。

  • 関連する問題