版本号
GNU 风格版本号
主版本号 . 子版本号 [. 修正版本号[ build- 编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]]
示例1:1.2
示例2:1.2.0
示例3:1.2.0 build-1234
Windows 风格版本号
主版本号 . 子版本号 [ 修正版本号 [. 编译版本号 ]]
英文对照 : Major_Version_Number.Minor_Version_Number[Revision_Number[.Build_Number]]
示例1:1.2.0.1234
对比
我建议不使用^和~
,因为这两种下载的包的版本可能都和写的版本不一样,会导致以后重新下载依赖的时候出问题,还是建议使用精确的版本号。
~version
大概匹配某个版本
如果minor版本号指定了,那么minor版本号不变,而patch版本号任意
如果minor和patch版本号未指定,那么minor和patch版本号任意
简单的说就是
前两个版本号保持一致,如果没有第二个则只保持第一个一致。
示例
~1.1.2
,表示>=1.1.2 <1.2.0,可以是1.1.2,1.1.3,1.1.4,…..,1.1.n~1.1
,表示>=1.1.0 <1.2.0,可以是同上~1
,表示>=1.0.0 <2.0.0,可以是1.0.0,1.0.1,1.0.2,…..,1.0.n,1.1.n,1.2.n,…..,1.n.n
^version
兼容某个版本
版本号中最左边的非0数字的右侧可以任意
如果缺少某个版本号,则这个版本号的位置可以任意
简单的说就是
第一个版本号保持一致。
示例
^1.1.2
,表示>=1.1.2 <2.0.0,可以是1.1.2,1.1.3,…..,1.1.n,1.2.n,…..,1.n.n^0.2.3
,表示>=0.2.3 <0.3.0,可以是0.2.3,0.2.4,…..,0.2.n^0.0
,表示 >=0.0.0 <0.1.0,可以是0.0.0,0.0.1,…..,0.0.n