Package.json 版本控制

118 阅读1分钟

~

允许小版本迭代

  • 如果有缺省值,缺省部分任意迭代;
  • 如果没有缺省值,只允许补丁即修订号(Patch)的迭代

eg.:

  • ~1.2.3>=1.2.3 <1.3.0
  • ~1.2>=1.2.0 < 1.3.0(相当于1.2.x
  • ~1>=1.0.0 <2.0.0(相当于1.x
  • ~0.2.3>=0.2.3 <0.3.0
  • ~0.2>=0.2.0 <0.3.0(相当于0.2.x
  • ~0>=0.0.0 <1.0.0(相当于0.x
  • ~1.2.3-beta.2>=1.2.3-beta.2 <1.3.0(注意,在1.2.3版本中,允许使用大于等于beta.2的先行版本号,而除1.2.3之外的版本号允许使用先行版本号,所以此处1.2.3-beta.4是允许的,而1.2.4-beta.2允许的)

^

允许大版本迭代

  • 允许从左到右的第一段不为0那一版本位+1迭代(左闭右开);
  • 如果有缺省值,且缺省值之前没有不为0的版本位,则允许缺省值的一位版本+1迭代

eg.:

  • ^1.2.3>=1.2.3 <2.0.0
  • ^0.2.3>=0.2.3 <0.3.0
  • ^0.0.3>=0.0.3 <0.0.4
  • ^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
  • ^1.x>=1.0.0 <2.0.0
  • ^0.x>=0.0.0 <1.0.0
  • ^1.2.3-beta.2>=1.2.3-beta.2 <2.0.0(注意,在1.2.3版本中,允许使用大于等于beta.2的先行版本号,而除了1.2.3之外的版本号不允许使用先行版本号,所以此处1.2.3-beta.4是允许的,而1.2.4-beta.2是不允许的);
  • ^0.0.3-beta>=0.0.3-beta <0.0.4(同上,此处0.0.3-pr.2是允许的)