文檔地址 https://docs.npmjs.com/misc/semvergit
Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch]
tuple. In other words, this allows patch and minor updates for versions 1.0.0
and above, patch updates for versions 0.X >=0.1.0
, and no updates for versions 0.0.X
.npm
Many authors treat a 0.x
version as if the x
were the major 「breaking-change」 indicator.ide
Caret ranges are ideal when an author may make breaking changes between 0.2.4
and 0.3.0
releases, which is a common practice. However, it presumes that there will not be breaking changes between 0.2.4
and 0.2.5
. It allows for changes that are presumed to be additive (but non-breaking), according to commonly observed practices.flex
實際使用狀況以下:this
^1.2.x
:= >=1.2.0 <2.0.0
^0.0.x
:= >=0.0.0 <0.1.0
^0.0
:= >=0.0.0 <0.1.0
A missing minor
and patch
values will desugar to zero, but also allow flexibility within those values, even if the major version is zero.idea
^1.x
:= >=1.0.0 <2.0.0
^0.x
:= >=0.0.0 <1.0.0