バージョン range - CI/CD 用語集の定義
version range とは、一つの正確な値ではなくバージョンの幅を許容する制約で、例えば >=1.2.0 <2.0.0 のようにし、リゾルバが互換性のある最新の release を選べるようにします。
一般的な構文
npm では、^1.2.3 は minor と patch の更新を許可し、~1.2.3 は patch のみを許可し、1.2.x は任意の patch に一致し、* は何にでも一致します。Python は >=、<、==、~= を使います。
range と lockfile
manifest 内の range は意図を表現し、lockfile は実際に選ばれた単一のバージョンを記録します。そのため、意図的に更新するまでインストールは再現可能です。
関連ガイド
Caret Range - CI/CD Glossary DefinitionCaret Range: A caret range (`^`) in npm allows updates that do not change the leftmost non-zero version compo…
Tilde Range - CI/CD Glossary DefinitionTilde Range: A tilde range (`~`) in npm allows patch-level updates when a minor version is specified, so `~1.…
Dependency Pinning - CI/CD Glossary DefinitionDependency Pinning: Dependency pinning is locking a dependency to one exact version (for example `lodash@4.17…