7

Gemfileに各gemのバージョンを追加する必要がありますか?それはベストプラクティスですか?ただお勧めですか?

4

3 に答える 3

5

私はすべての宝石を本番環境で特定のバージョンにロックすることを好みます。他のgemとの互換性を壊したり、一部のAPIを廃止したりする新しいバージョンがある可能性があることを考えると、gemの不整合が原因でデプロイしたときに、驚くほど壊れたアプリが発生しないことを100%確認する必要があります。gemの更新は、Gemfileエントリを更新し、残りのコードとライブラリに対して新しいバージョンをテストすることにより、開発中にローカルでのみ実行する必要があります。

于 2012-07-06T09:52:47.643 に答える
2

通常、そうするように指示された場合を除いて、そうする必要はありません(gemの作成者、または非互換性によるユーザーからのフィードバックのいずれかによって)。場合によっては、特定の宝石のエッジバージョンを使用していることがあるので、とにかく問題にはなりません。

# 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"
于 2012-07-06T06:24:04.383 に答える
1

現在動作しているgemのバージョンはですでに指定されているため、各gemのバージョンを指定する必要はないと思いますGemfile.lock

また、bundle updateそうするとコマンドは役に立たなくなります。このコマンドを使用してgemを更新できるはずです。テストに合格し、アプリケーションが引き続き正常に機能する場合は、新しいものをコミットするだけですGemfile.lock

于 2012-07-06T09:41:30.987 に答える