プレリリースバージョンの比較 (alpha, beta, rc)
1.0.0-alpha.1、1.0.0-beta.2、1.0.0-rc.1のようなプレリリースバージョンを比較します。数値と文字列の識別子の順序ルールを理解します。
Version Comparison
詳細な説明
プレリリースバージョンの比較
プレリリースバージョンは、SemVer 2.0.0仕様で定義された特定の順序ルールに従います。これらのルールは、アルファ、ベータ、RCリリースを公開する際に重要です。
順序アルゴリズム
同じmajor.minor.patchの2つのプレリリースバージョンを比較する場合:
- プレリリース部分をドットで識別子に分割
- 識別子を左から右に比較
- 各ペアに型固有のルールを適用
型固有のルール
| タイプA | タイプB | ルール |
|---|---|---|
| 数値 | 数値 | 整数として比較(2 < 11) |
| 文字列 | 文字列 | 辞書順で比較("alpha" < "beta") |
| 数値 | 文字列 | 数値は常に低い(1 < "alpha") |
完全な順序の例
最低から最高の優先度:
1.0.0-0
1.0.0-1
1.0.0-alpha
1.0.0-alpha.0
1.0.0-alpha.1
1.0.0-alpha.beta
1.0.0-beta
1.0.0-beta.2
1.0.0-beta.11
1.0.0-rc.1
1.0.0
実践的なリリースサイクル
典型的なリリースサイクル:
1.0.0-alpha.1 → 1.0.0-alpha.2 → 1.0.0-beta.1 → 1.0.0-rc.1 → 1.0.0
ユースケース
npmパッケージやライブラリの多段階リリースプロセス(アルファ、ベータ、RC)を管理し、バージョンの順序が意図した進行を反映するようにする場合。