3

私は余暇に RoR webapp をコーディングしています。他の人と同じように (たぶん)、gem (約 20 個) を使用します。

すべての gem の正確なバージョンを指定していなかったため、実稼働環境でアプリをデプロイするときにエラーが発生したことが何度かありました。

すべての gem を特定のバージョンにとどめておくことに不安があり、そのうちの 1 つ (またはいくつか) を更新する必要がある場合、全体が壊れてしまいます (フライング スフィンクスと twitter を連携させるための gem を作成するのに問題がありました)。アップデート)。

私の質問は次のとおりです。パートタイムのコーダーは、使用されている宝石のバージョンを一度だけ修正する必要がありますか、それとも各更新を確認する価値がありますか? Gemfile をどのように管理していますか?

また、フルタイムのときは、常に最新の状態 (セキュリティ、パフォーマンス) を維持する必要があると思いますが、それは本当ですか?

4

1 に答える 1

5

私は主にこの種のバージョン仕様に固執します:

gem "blah", "~> 1.4.2"

これはバージョン番号を意味します>= 1.4.2が、< 1.5.0

ほとんどの gem は、セマンティック バージョニング スキームに従うか、少なくともバージョン ジャンプを行うときに何かを壊すだけです。このようにして、私は「安全」ですが、それでも良い部分 (バグ修正など) を入手できます。

正確なバージョン番号をロックダウンすることが の背後Gemfile.lockにある考え方なので、これもバージョン管理にチェックインします。このアプローチはこれまでのところ完全に機能しており、このアプローチで問題が発生したことはありません.

于 2012-04-23T13:17:55.640 に答える