正確なバージョン固定 (=) — いつ、なぜ使うか
=1.2.3または単に1.2.3で依存関係を正確なバージョンに固定します。再現性とセキュリティパッチの見逃しのトレードオフを理解します。
Comparison Operators
詳細な説明
正確なバージョン固定
正確なバージョン固定とは、依存関係の1つの特定バージョンのみを受け入れることです。範囲なし、柔軟性なし。
構文
以下は同等です:
=1.2.3
1.2.3
演算子プレフィックスなしの裸のバージョン番号は「正確にこのバージョン」を意味します。
正確なバージョンを固定するタイミング
固定する良い理由:
- 特定のバージョンがセキュリティ監査済み
- 依存関係がSemVerに従っていない
- ロックファイルなしでビット単位の再現可能なビルドが必要
- コンパイラやコードジェネレータで出力の変更が重要
固定を避けるべき状況:
- 自動セキュリティパッチを見逃す
- 依存関係解決の競合が増加
- メンテナンス負担が増える
推奨
ほとんどのプロジェクトでは、ロックファイル付きのキャレット範囲を使用します。正確な固定は、パッチ更新でもリスクがある例外的なケースに限定すべきです。
ユースケース
セキュリティに敏感なアプリケーションで特定の監査済みバージョンに依存関係をロックする場合、またはSemVer慣行に従わない依存関係を管理する場合。