composer包版本命名及限定规则

版本命名规则:

[name].x.y.z-[state]

name为可选字段,一般为v,表示 version

x.y.z为各版本的序号,遵循语义化版本命名规范

实际上基于此规范,不应该在版本前出现 name 字段.

state可选字段,表示版本状态,例如b表示 beta 测试版,其他常见状态,后有详述

x、y、z含义

0.y.z表示开发阶段,一切可能随时改变,非稳定版。

1.0.0界定此版本为初始稳定版,后面的一切更新都基于此版本进行修改。

版本限定的语法简述为为[范围描述]<版本号描述>

范围描述,可选,必须配和版本描述确定范围,无法独立存在

<小于某一版本号

<=小于等于某一版本号

>大于某一版本号

>=大于等于某一版本号

=等于某一版本号,没有意义和直接写该版本号一样

~基于版本号描述的最新补丁版本

^基于版本号描述的最新兼容版本

-某个范围,他应该出现在两个版本描述中间,实际上语法应为<版本描述>-<版本描述>,写在此处为了统一

严格来讲对~,^的表述需要结合具体的包管理工具和版本号规则来确定.但是对于一般使用记住如下原则.

^是确保版本兼容性时,默认对次版本号的限定约束

~是确保版本兼容性时,默认对补丁号的约束

利用^,~的意义在于确保工具包对依赖版本的兼容性,排除主版本更迭,造成依赖失效的可能.

版本描述:

*通配符,类似glob模式*

x,X约等于*号,通常用于次版本和补丁的通配.

0.x警惕这种版本,说明该依赖还未稳定(如果它遵守语义化命名的话),此外由于0.x版本随时可能改变,此时^,~的都表示为对补丁版的限制.





https://segmentfault.com/a/1190000011368506

https://segmentfault.com/q/1010000006210480/a-1020000006210930

http://docs.phpcomposer.com/01-basic-usage.html#Package-Versions

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,156评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,118评论 25 709
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 14,000评论 0 15
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,258评论 6 13
  • 一.居然之家是一个中高端的家居专业卖场,主要是耐用品,你认为这种企业的策划重点是什么? 营销策划的直接目的即刺激需...
    Amyuann阅读 296评论 0 0