作用
- 逃離 依賴地獄
作用方式
- 該規則規定了版本號如何表示,如何增加,如何進行比較,不同的版本號意味着什麼
版本格式
- 版本格式:主版本號.次版本號.修訂號
- 主版本號(major): 當你做了不兼容的 API 修改
- 次版本號(minor): 當你做了向下兼容的功能性新增,可以理解爲 Feature 版本
- 修訂號(patch): 當你做了向下兼容的問題修正,可以理解爲 Bug fix 版本
- 先行版本號 及 版本編譯信息 可以加到"主版本號.次版本號.修訂號"的後面,作爲延伸
先行版本
- 比較常見的先行版本包括: 內測版 灰度版 RC版
- Semver規範使用 alpha、beta、rc 來修飾即將要發佈的版本
- alpha: 內部版本
- beta: 公測版本
- rc: 即Release candiate,正式版本的候選版本
依賴地獄
依賴過多
- 一個軟件包依賴於衆多的庫,因此安裝一個軟件包的同時要安裝幾個甚至幾十個庫包
多重依賴
- 指從所需軟件包到最底層軟件包之間的層級數過多。這會導致依賴性解析過於複雜,並且容易產生依賴衝突和環形依賴
依賴衝突
- 即兩個軟件包無法共存的情況。除兩個軟件包包含內容直接衝突外,也可能因爲其依賴的低層軟件包互相沖突。因此,兩個看似毫無關聯的軟件包也可能因爲依賴性衝突而無法安裝
依賴循環
- 即依賴性關係形成一個閉合環路,最終導致:在安裝A軟件包之前,必須要安裝A、B、C、D軟件包,然而這是不可能的