语义化版本(semver)

语义化版本

作用

  • 逃离 依赖地狱

作用方式

  • 该规则规定了版本号如何表示,如何增加,如何进行比较,不同的版本号意味着什么

版本格式

  • 版本格式:主版本号.次版本号.修订号
    • 主版本号(major): 当你做了不兼容的 API 修改
    • 次版本号(minor): 当你做了向下兼容的功能性新增,可以理解为 Feature 版本
    • 修订号(patch): 当你做了向下兼容的问题修正,可以理解为 Bug fix 版本
  • 先行版本号版本编译信息 可以加到"主版本号.次版本号.修订号"的后面,作为延伸
先行版本
  • 比较常见的先行版本包括: 内测版 灰度版 RC版
  • Semver规范使用 alphabetarc 来修饰即将要发布的版本
    • alpha: 内部版本
    • beta: 公测版本
    • rc: 即Release candiate,正式版本的候选版本

依赖地狱

依赖过多
  • 一个软件包依赖于众多的库,因此安装一个软件包的同时要安装几个甚至几十个库包
多重依赖
  • 指从所需软件包到最底层软件包之间的层级数过多。这会导致依赖性解析过于复杂,并且容易产生依赖冲突和环形依赖
依赖冲突
  • 即两个软件包无法共存的情况。除两个软件包包含内容直接冲突外,也可能因为其依赖的低层软件包互相冲突。因此,两个看似毫无关联的软件包也可能因为依赖性冲突而无法安装
依赖循环
  • 即依赖性关系形成一个闭合环路,最终导致:在安装A软件包之前,必须要安装A、B、C、D软件包,然而这是不可能的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章