Categories: Composer 教程

为什么说“比较符”和“通配符”相结合的版本约束是坏主意?

为什么说“比较符”和“通配符”相结合的版本约束是坏主意?

这是人们常犯的一个错误,定义了类似 >=2.*>=1.1.* 的版本约束。

通过思考它所表示的真正含义,你很快就会发现,它并没有多大意义。如果我们分解 >=2.*,你会得到两个部分:

  • >=2 表示资源包应该是 2.0.0 或以上版本。
  • 2.* 表示资源包版本应该介于 2.0.0 (含)和 3.0.0(不含)之间。

正如你所看到的,要同时满足这两个规则包版本必须 >=2.0.0,但它是无法判断的,因为当你这么写的时候,你究竟是想要包含 3.0.0 版本还是不包含?它应该进行匹配吗?因为你定义了 >=2,但同时你又限制它为 2.*

出于这个原因,Composer 将抛出一个错误,并告诉你这是无效的。想要确切的表达你意思,最简单的方法就是仅使用“比较符”和“通配符”其中的一种来定义约束。

冒牌SEO

前端开发者,欢迎大家一起沟通和交流。

Share
Published by
冒牌SEO

Recent Posts

vue:页面注入js修改input值

一般会直接这样写: let z…

5 小时 ago

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 月 ago