package.jsonのバージョン表記の意味

依存関係エラーになったときは以下を抑えておけば大体OK。
下に行くほど制約が厳しい。

本当はもっと細かな定義がされているので、正確な情報は下記を参照。

semver | npm Documentation

*: バージョン指定なし

何でもよい

>=: 指定バージョン以上

  • >=1.2.3と指定されている場合、1.2.3以上が対象

^: 安定した範囲で指定バージョン以上

  • 1.0.0以上のバージョンについては、メジャーバージョンが変わらない範囲
    • ^1.1.1なら2.0.0未満
  • 1.0.0未満のバージョンについては、マイナーバージョンが変わらない範囲
    • ^0.1.1なら0.2.0未満

~: バグFixのみ

  • ~1.1.1なら1.2.0未満
  • ~0.1.1なら0.2.0未満

“: 固定バージョン

  • 1.2.3と指定されている場合、1.2.3のみが対象