NPM語義版本號解釋:~和^

kriswuwenxiang發表於2018-01-26

版本號

NPM使用語義版本號分為X.Y.Z三位,分別代表主版本號次版本號補丁版本號。當程式碼變更時,版本號按以下原則更新。

  1. 如果只是修復bug,需要更新Z位。
  2. 如果是新增了功能,但是向下相容,需要更新Y位。
  3. 如果有大變動,向下不相容,需要更新X位。

~version

  • 如果次版本號指定,那麼次版本號不變,而補丁版本號可以任意
  • 如果次版本號和補丁版本號未指定,那麼次版本號和補丁版本號可以任意
~1.2.3 := >=1.2.3 <1.(2+1).0 := >=1.2.3 <1.3.0
~1.2 := >=1.2.0 <1.(2+1).0 := >=1.2.0 <1.3.0
~1 := >=1.0.0 <(1+1).0.0 := >=1.0.0 <2.0.0
~0.2.3 := >=0.2.3 <0.(2+1).0 := >=0.2.3 <0.3.0
~0.2 := >=0.2.0 <0.(2+1).0 := >=0.2.0 <0.3.0
~0 := >=0.0.0 <(0+1).0.0 := >=0.0.0 <1.0.0
~1.2.3-beta.2 := >=1.2.3-beta.2 <1.3.0
複製程式碼

^version

  • 版本號中最左非零位不變,它右側其他位可以任意
  • 如果缺少某個版本號,那麼這個版本號可以任意
^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.3-beta.2 := >=1.2.3-beta.2 <2.0.0
^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
複製程式碼

以上是我自己的理解,感覺比較易懂,附上NPM的語義版本號連結(英文)

相關文章