package.json 里面的~、^


我們開發中經常會碰到 package.json 里面的軟件包 的版本號前邊有 ~,^,甚至有的有>, <等標識,那他們都是什么意思呢?
想要知道~,^,>,<這些字符什么意思,我們先去了解一下什么是 npm 的語義版本控制 

 

npm的語義版本控制

語義版本控制:所有的版本都有 3 個數字: x.y.z 

  •  x  代表的是主版本(當進行不兼容的 API 更改時,則升級主版本)
  •  y  代表的是次版本(當以向后兼容的方式添加功能時,則升級次版本)
  •  z  代表的是補丁版本(當進行向后兼容的缺陷修復時,則升級補丁版本)

這是一種約定,每個npm包必須遵守該約定,因為整個系統都依賴於此。

因為npm設置了一些規則,可用於在 package.json 文件中選擇要將軟件包更新到的版本(當運行 npm update 時)。

規使用了以下這些符號:

  •  ^  :只會執行不更改最左邊非零數字的更新。(如果寫入的是 ^0.13.0,當執行 npm update 時,可以更新到 0.13.1、0.13.4 等,但不會更新到 0.14.0 或更高的版本。如果寫入的是^1.13.0,當執行npm update時,可以更新到 1.13.1、1.14.0 等,但不會更新到 2.0.0 或更高的版本)
  •  ~  :如果寫入的是 ~0.13.0,當執行 npm update 時,會更新到補丁版本:即 0.13.1。但 0.14.0 不可以
  •  <  :接受低於指定版本的任何版本。
  •  <=  :接受等於或低於指定版本的任何版本。
  •  >  :接受高於指定版本的任何版本。
  •  >=  :接受等於或高於指定版本的任何版本。
  •  =  :接受確切的版本。
  •  -  :接受一定范圍的版本。(例如:1.2.0 - 1.6.0)
  •  ||  :組合版本。(例如 < 2.1 || > 2.6

還有其他一些規則:

  • 無符號: 僅接受指定的特定版本。(例如 1.2.1
  • latest: 使用可用的最新版本。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM