比較演算子 (>=, >, <, <=, =) のSemver範囲での使用
>=1.0.0、<2.0.0、>1.5.0、=1.2.3のような比較演算子をsemver範囲で使用します。組み合わせて正確なバージョン境界を作成します。
Comparison Operators
詳細な説明
Semverにおける比較演算子
比較演算子は、キャレットやチルダの省略形とは異なり、バージョン境界を明示的に制御します。
利用可能な演算子
| 演算子 | 意味 | 例 |
|---|---|---|
>= |
以上 | >=1.0.0 |
> |
より大きい(厳密) | >1.0.0 |
<= |
以下 | <=2.0.0 |
< |
より小さい(厳密) | <2.0.0 |
= |
完全一致 | =1.2.3 |
演算子の組み合わせ
同じ文字列内のスペース区切りの複数演算子はAND条件を形成します:
>=1.0.0 <2.0.0
これは「1.x.x」を意味し、1.0.0から2.0.0未満の任意のバージョンです。^1.0.0と同等です。
厳密 vs 包括的
>と>=の違いは重要です:
>=1.0.0— 1.0.0自体を含む>1.0.0— 1.0.0の次のバージョンから開始(例:1.0.1)
実際の使用
比較演算子は以下でよく使われます:
- エンジン制約:
"node": ">=18.0.0" - ピア依存関係:
"react": ">=16.8.0 <19.0.0" - カスタム範囲: キャレット/チルダでは表現できない場合
ユースケース
package.jsonでエンジン要件(例:Node.jsバージョン)を指定する場合、またはキャレット/チルダの省略形に適合しないカスタム依存関係範囲を作成する場合。