npmバージョン範囲チートシート — 全演算子解説

npmのsemver範囲演算子の完全なチートシート:キャレット(^)、チルダ(~)、ハイフン(-)、ワイルドカード(x/*)、比較(>=, <)、OR(||)。例付きクイックリファレンス。

Reference

詳細な説明

npmバージョン範囲チートシート

package.jsonでサポートされるすべての範囲演算子の完全なクイックリファレンスです。

演算子一覧

演算子 構文 展開形
キャレット ^A.B.C ^1.2.3 >=1.2.3 <2.0.0
チルダ ~A.B.C ~1.2.3 >=1.2.3 <1.3.0
正確 A.B.C 1.2.3 =1.2.3
以上 >=A.B.C >=1.2.3 バージョン1.2.3以上
未満 <A.B.C <2.0.0 バージョン2.0.0未満
ハイフン A - B 1.0.0 - 2.0.0 >=1.0.0 <=2.0.0
ワイルドカード A.x 1.x >=1.0.0 <2.0.0
OR A || B ^1.0.0 || ^2.0.0 いずれかの範囲

キャレット (^) — デフォルト

npm installで追加されるデフォルト演算子。最も左の非ゼロ桁を変更しない変更を許可:

^1.2.3  →  >=1.2.3 <2.0.0   (マイナー + パッチ更新)
^0.2.3  →  >=0.2.3 <0.3.0   (パッチ更新のみ)
^0.0.3  →  >=0.0.3 <0.0.4   (完全一致)

チルダ (~) — 保守的

パッチレベルの変更のみを許可:

~1.2.3  →  >=1.2.3 <1.3.0
~0.2.3  →  >=0.2.3 <0.3.0

判断フローチャート

  1. 最新パッチ + 機能が欲しい?^1.2.3(キャレット)
  2. バグ修正のみ?~1.2.3(チルダ)
  3. 正確なバージョンが必要?1.2.3(演算子なし)
  4. 複数メジャーをサポート?^1.0.0 || ^2.0.0(OR)
  5. カスタム境界?>=1.0.0 <3.0.0(比較)

ユースケース

package.jsonのバージョン範囲を書いたりレビューする際のクイックリファレンス。チームのオンボーディングや依存関係管理ポリシーのドキュメントに最適な印刷可能な概要。

試してみる — Semver Calculator

フルツールを開く