前言
版本號(version number)是版本的標識號。每一個操作系統(或廣義的講,每一個軟件)都有一個版本號。版本號能使用戶了解所使用的操作系統是否為最新的版本以及它所提供的功能與設施。
例如在Python項目依賴中會看到 requires-python = ">= 3.10"
等依賴庫對版本的要求,還有 >=
與 <=
相結合的使用方式。
例如在前端node依賴項目,使用npm管理依賴庫版本,會看到一些符合符號(示例個別):
^
兼容版本,不超過最左邊非零數字,eg:^1.2.3
表示>=1.2.3 <2.0.0
~
最接近匹配版本,eg:~1.2.3
表示>=1.2.3 <1.3.0
>
大于當前版本
業界在定義版本的時候,都會遵循一定的規范,否則當出現^
或者~
等符號的時候,依賴庫有了不兼容升級,才能保證被引用服務不會出現問題。
一個規范的版本定義非常重要。
語義化版本2.0.0
官網:https://semver.org
版本格式:主版本號.次版本號.修訂號
,版本號遞增規則如下:
主版本號
:當你做了不兼容的 API 修改,次版本號
:當你做了向下兼容的功能性新增,修訂號
:當你做了向下兼容的問題修正。
先行版本號及版本編譯信息可以加到“主版本號.次版本號.修訂號”的后面,作為延伸。
語義化版本控制的規范是由 Gravatars 創辦者兼 GitHub 共同創辦者 Tom Preston-Werner 所建立,本文不作更多描述,請移步官網。