Semantic Versioningとは
- パッケージ等ソフトウェアにバージョンを振るための手法
- SemVer(センバー)とも略される
- packeage.jsonなどパッケージを管理するファイルで使用されている
- Semantic 「意味論」
書き方
Semantic Versioningの例
3.2.4
6.2.0
左から「メジャーバージョン.マイナーバージョン.パッチバージョン」
メジャーバージョン(Major)
後方置換性がない変更の時に上がる数字
後方置換性とは旧製品に対して互換性を持っている新製品の性質。つまりメジャーバージョンが違うパッケージに変更すると、以前のように動かない可能性がある。
マイナーバージョン(Minor)
後方置換性がある変更の時に上がる数字
パッチバージョン(Patch)
バグ修正の時に上がる数字
バージョン表記の記号
パッケージのバージョン名の前の記号の意味
^(キャレット)
0でないメジャーバージョンを固定し、マイナー、パッチバージョンは指定されたバージョン以上のパッケージを使用
例
# 1.2.3以上2.0.0未満のパッケージのバージョンを使用
^1.2.3
# 0.13.0以上0.14.0未満のパッケージのバージョンを使用
^0.13.0
~(チルダ)
一番右のバージョンを上げる
例
# 1.2.3以上1.3.0未満
~1.2.3
# 1.2以上1.3未満
~1.2
# 1.0.0以上2.0.0未満
~1