npm安装使用^符号时,在0.0.1等版本下区别
文档地址 https://docs.npmjs.com/misc/semver
Caret Ranges ^1.2.3 ^0.2.5 ^0.0.4
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
.
Many authors treat a 0.x
version as if the x
were the major “breaking-change” indicator.
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.
实际使用情况如下:
^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.
^1.x
:=>=1.0.0 <2.0.0
^0.x
:=>=0.0.0 <1.0.0