作用
- 逃离 依赖地狱
作用方式
- 该规则规定了版本号如何表示,如何增加,如何进行比较,不同的版本号意味着什么
版本格式
- 版本格式:主版本号.次版本号.修订号
- 主版本号(major): 当你做了不兼容的 API 修改
- 次版本号(minor): 当你做了向下兼容的功能性新增,可以理解为 Feature 版本
- 修订号(patch): 当你做了向下兼容的问题修正,可以理解为 Bug fix 版本
- 先行版本号 及 版本编译信息 可以加到"主版本号.次版本号.修订号"的后面,作为延伸
先行版本
- 比较常见的先行版本包括: 内测版 灰度版 RC版
- Semver规范使用 alpha、beta、rc 来修饰即将要发布的版本
- alpha: 内部版本
- beta: 公测版本
- rc: 即Release candiate,正式版本的候选版本
依赖地狱
依赖过多
- 一个软件包依赖于众多的库,因此安装一个软件包的同时要安装几个甚至几十个库包
多重依赖
- 指从所需软件包到最底层软件包之间的层级数过多。这会导致依赖性解析过于复杂,并且容易产生依赖冲突和环形依赖
依赖冲突
- 即两个软件包无法共存的情况。除两个软件包包含内容直接冲突外,也可能因为其依赖的低层软件包互相冲突。因此,两个看似毫无关联的软件包也可能因为依赖性冲突而无法安装
依赖循环
- 即依赖性关系形成一个闭合环路,最终导致:在安装A软件包之前,必须要安装A、B、C、D软件包,然而这是不可能的