-1

バージョン番号が異なるレールバージョンはどの程度互換性がありませんか? これらの数字の意味は何ですか?

たとえば、バージョン 2.8.7 から 3.0.1 では、重大な非互換性の問題が発生する可能性があります。

しかし、バージョン 2.7.1 と 2.7.2、または 3.0.6 と 3.0.7 はどの程度互換性がないのでしょうか?

4

2 に答える 2

5

一般的に言えば、数値の変化が大きいほど、コアの変化も大きくなります。したがって、2.8.7 から 3.0.1 への変更は、Rails 2 から Rails 3 に移行するため、大きな変更になります (実際には非常に大きな変更です)。

一方、2.7.1 から 2.7.2 では、いくつかのマイナーな修正が行われます。

また、DHH 自身が言ったように、Rails は、素晴らしいアイデアが生まれる限り、コアを 100% 変更することを常に望んでいます。したがって、2 から 3 へ、または 3 から 4 へと進むと、おそらく大きな変化の鐘が鳴るだろうと想像できます。

于 2011-04-26T09:16:21.803 に答える
0

RubyGems マニュアル

ライブラリは 3 つの方法で変更されます (3 つ以上の方法がありますが、ここに注目してください!)。

  • 変更は実装の詳細のみであり、クライアント ソフトウェアには影響しません。
  • この変更により新しい機能が追加される可能性がありますが、以前のバージョンに書き込まれたクライアント ソフトウェアとの互換性が保たれるようにする必要があります。
  • この変更により、ライブラリのパブリック インターフェイスが変更され、古いソフトウェアとの互換性が失われる可能性があります。

RationalVersioningPolicy は、次のガイドラインを提供します。

バージョンは、ピリオドで区切られた 3 つの負でない整数で表されます (例: 3.1.4)。

最初の整数は「メジャー」バージョン番号、2 番目の整数は「マイナー」バージョン番号、3 番目の整数は「ビルド」番号です。

  • カテゴリ 1 の変更 (実装の詳細) は、ビルド番号を増やします。

  • カテゴリ 2 の変更 (下位互換性) は、マイナー バージョン番号を増やし、ビルド番号をリセットします。

  • カテゴリ 3 の変更 (非互換) は、メジャー ビルド番号を増やし、マイナー番号とビルド番号をリセットします。gem の「公開」リリースには、異なるバージョンが必要です。通常、これはビルド番号をインクリメントすることを意味します。つまり、開発者は一日中自分でビルドを生成できますが、公開リリースを行うとすぐにバージョンを更新する必要があります。

それでおしまい。それほど難しくありません。

さらに。この回答に興味がある人は、悲観的バージョン制約にも興味があるかもしれません

于 2011-04-26T09:59:31.193 に答える