2012-07-06 13 views

答えて

5

すべての宝石を特定のバージョンのプロダクションにロックすることをお勧めします。他の宝石との互換性を損ねたり、いくつかのAPIを廃止する新しいバージョンがあるかもしれないことを考慮すると、宝石の不一致のために展開すると驚くほど壊れたアプリを100%確実に得られないようにしたい。 gemfileのエントリを更新し、残りのコードとライブラリに対して新しいバージョンをテストすることによって、開発中のローカルでのみgemを更新する必要があります。

+0

また、時には最新のバージョンを取得する必要があります番号の付いたリリースでは利用できない、非常に必要な修正が含まれています。 (しばらくしてから予定されていた) – prusswan

2

一般的に、宝石の作成者または非互換性のためにユーザーからのフィードバックによって指示された場合を除き、通常は必要ありません。私はあなたがそれぞれの宝石のバージョンを指定する必要がありますとは思わない

# Bundle edge Rails instead: 
gem 'rails', :git => 'git://github.com/rails/rails.git' 
gem 'arel', :git => 'git://github.com/rails/arel.git' 
gem "rack", :git => "git://github.com/rack/rack.git" 
1

を、現在の作業宝石のバージョンはすでにGemfile.lockで指定されたので、:それはとにかく問題ではありませんので、時にはあなたは、特定の宝石のエッジバージョンを使用することができます。

また、これを実行すると、bundle updateコマンドは役に立たなくなります。このコマンドを使用して宝石を更新することができます。テストが合格してアプリケーションが正常に動作する場合は、新しいものをコミットしてください。Gemfile.lock

+0

'Gemfile.lock'は' Gemfile'と最後の 'bundle update'で指定されたルールから完全に生成されるので、バージョンが指定されているかどうかにかかわらず、' Gemfile'だけが考慮されなければなりません。 – prusswan

+0

それは私が言っていることです...各宝石のバージョンを指定するべきではありませんので、 'bundle update'はそれらのいくつかを更新することができます –

関連する問題