語義化版本(semver)

語義化版本

作用

  • 逃離 依賴地獄

作用方式

  • 該規則規定了版本號如何表示,如何增加,如何進行比較,不同的版本號意味着什麼

版本格式

  • 版本格式:主版本號.次版本號.修訂號
    • 主版本號(major): 當你做了不兼容的 API 修改
    • 次版本號(minor): 當你做了向下兼容的功能性新增,可以理解爲 Feature 版本
    • 修訂號(patch): 當你做了向下兼容的問題修正,可以理解爲 Bug fix 版本
  • 先行版本號版本編譯信息 可以加到"主版本號.次版本號.修訂號"的後面,作爲延伸
先行版本
  • 比較常見的先行版本包括: 內測版 灰度版 RC版
  • Semver規範使用 alphabetarc 來修飾即將要發佈的版本
    • alpha: 內部版本
    • beta: 公測版本
    • rc: 即Release candiate,正式版本的候選版本

依賴地獄

依賴過多
  • 一個軟件包依賴於衆多的庫,因此安裝一個軟件包的同時要安裝幾個甚至幾十個庫包
多重依賴
  • 指從所需軟件包到最底層軟件包之間的層級數過多。這會導致依賴性解析過於複雜,並且容易產生依賴衝突和環形依賴
依賴衝突
  • 即兩個軟件包無法共存的情況。除兩個軟件包包含內容直接衝突外,也可能因爲其依賴的低層軟件包互相沖突。因此,兩個看似毫無關聯的軟件包也可能因爲依賴性衝突而無法安裝
依賴循環
  • 即依賴性關係形成一個閉合環路,最終導致:在安裝A軟件包之前,必須要安裝A、B、C、D軟件包,然而這是不可能的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章