前に node の package.json の中での semver を使ったバージョン範囲の指定方法についてメモを書いたけど、もう少し覚えやすそうな覚え方を思いついたからメモ
おさらい
^
: Minor Range
Major バージョンまでを固定して、Minor バージョン以下を可変にする
~
: Patch Range
Minor バージョンまでを固定して、Patch バージョンを可変にする
新しい覚え方
バージョンを ^
.~
._
という記号で表すと考えてしまう。
Major バージョンは一番上の ^
Minor バージョンは真ん中の ~
Patch バージョンは一番下の _
そうすると
^x.y.z
は一番上のバージョンを固定してる => x
.~
._
~x.y.z
は真ん中までのバージョンを固定してる => x
.y
._
_x.y.z
は一番下のバージョンまでを固定してる => x
.y
.z
_
は結局普通にバージョン書いてるのと変わらないので省略
と捉えられる。
記号の位置関係とバージョンの位置関係をうまく紐付けられて、わかりやすくなった。
言語とか、ライブラリで変わったような気もするから、あまり過信はできないけど :P
(Gemfileとか違った気がする)