Composer 中依赖包的版本约束和稳定性_lamp_yang_3533的博客-CSDN博客


本站和网页 https://blog.csdn.net/lamp_yang_3533/article/details/80247127 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Composer 中依赖包的版本约束和稳定性_lamp_yang_3533的博客-CSDN博客
Composer 中依赖包的版本约束和稳定性
lamp_yang_3533
于 2018-05-08 22:42:56 发布
4841
收藏
分类专栏:
PHP
文章标签:
Composer
版本约束
稳定性
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lamp_yang_3533/article/details/80247127
版权
PHP
专栏收录该内容
47 篇文章
0 订阅
订阅专栏
版本约束
通过 Composer 来安装依赖包,关于依赖包的版本约束,可以使用多种不同的方式。
版本格式
版本格式:主版本号.次版本号.修订版本号,版本号递增规则如下:
主版本号:当你做了不兼容的 API 修改。次版本号:当你做了向下兼容的功能性新增。修订版本号:当你做了向下兼容的问题修正。
先行版本号及版本编译元数据可以放到“主版本号.次版本号.修订版本号”的后面,作为延伸。
确切的版本号
你可以指定包的确切版本。如 monolog/monolog 1.0.2 。
范围
通过使用比较操作符可以指定有效的版本范围。
有效的运算符有 >、>=、<、<=、!=、~、^ 等。
你可以定义多个范围:
中间用逗号隔开,视为逻辑 AND 。中间用管道符号 | 隔开,视为逻辑 OR 。
AND 的优先级高于 OR。
>=1.0
>=1.0,<2.0
>=1.0,<1.1|>=1.2
通配符
你可以使用通配符 * 来指定一种模式。
1.0.* 与 >=1.0,<1.1 是等效的。
波浪号运算符
~ 表示版本号只能改变最末尾那段(如果是 ~x.y 末尾就是 y,如果是 ~x.y.z 末尾就是 z)。
波浪号运算符 ~ ,对于遵循语义化版本号的项目非常有用。
~1.2 相当于 >=1.2,<2.0
~1.2.3 相当于 >=1.2.3,<1.3
常见的用法是标记你所依赖的最低版本,像 ~1.2 (允许 1.2 以上的任何版本,但不包括下一个重要版本 2.0)。
注意: 虽然 2.0-beta.1 严格地说是早于 2.0,但是,根据版本约束条件, 例如 ~1.2 却不会安装这个版本。就像前面所讲的 ~1.2 只意味着 .2 部分可以改变,但是 1. 部分是固定的。
^运算符
^ 表示除了主版本号以外,次版本号和修订版本号都可以变。
^ 和 ~ 的意思很接近,在x.y的情况下是一样的,都是代表 x.y <= 版本号 < (x+1).0。但是,在版本号是x.y.z的情况下就有区别,举个例子吧:
~1.2.3 代表 1.2.3 <= 版本号 < 1.3.0
^1.2.3 代表 1.2.3 <= 版本号 < 2.0.0
稳定性
默认情况下只有稳定的发行版才会被考虑在内。
如果你也想获得 RC、beta、alpha 或 dev 版本,你可以使用稳定标志。
"require": {
"monolog/monolog": "1.0.*@beta",
"acme/foo": "@dev"
你可以对所有的包做 最小稳定性 设置,而不用每个依赖逐一设置。
minimum-stability (root-only)
minimum-stability 定义了包的最小稳定性。默认为 stable(稳定)。
如果你依赖于一个 dev(开发版本)包,你应该明确的进行定义。
minimum-stability 会对每个包的所有版本都会进行稳定性检查,低于 minimum-stability 所设定的最低稳定性的版本,将在解决依赖关系时被忽略。对于个别包的特殊稳定性要求,可以在 require 或 require-dev 中设定。
可用的稳定性标识(按字母排序)有:dev、alpha、beta、RC、stable。
prefer-stable (root-only)
当此选项被激活时,Composer 将优先使用更稳定的包版本。
使用 "prefer-stable": true 来激活它。
lamp_yang_3533
关注
关注
点赞
收藏
打赏
评论
Composer 中依赖包的版本约束和稳定性
版本约束通过 Composer 来安装依赖包,关于依赖包的版本约束,可以使用多种不同的方式。版本格式版本格式:主版本号.次版本号.修订版本号,版本号递增规则如下:主版本号:当你做了不兼容的 API 修改。次版本号:当你做了向下兼容的功能性新增。修订版本号:当你做了向下兼容的问题修正。先行版本号及版本编译元数据可以放到“主版本号.次版本号.修订版本号”的后面,作为延伸。...
复制链接
扫一扫
专栏目录
django网上商城_网上商城开源项目合集
weixin_39626162的博客
11-06
1288
大家好,我是章鱼猫。关于网上商城的开源项目我们之前推荐过几个:又开源一个小商城系统前后端全部开源的新零售商城系统不要淘宝商城,不要京东商城,只要你就够了今天给大家推荐的这个项目是「SuperMarket」,从名字就能看出来,也是一个开源网上商城,如果想做自己的商城类项目,这四个项目一起看,效果会更好。SuperMarket 关键技术:JDBC 连接 MySQL 可自定义使用的连接池,在 web.x...
php 拓展包依赖包可视化
最新发布
weixin_41713801的博客
12-03
52
php 解析composer依赖关系,生成视图
参与评论
您还未登录,请先
登录
后发表或查看评论
Composer 踩坑之 require
热门推荐
Jason
04-04
1万+
使用 composer require 安装依赖包时,出现 file could not be downloaded
Jason:package jason$ composer require "overtrue/package-builder" --prefer-source
[Composer\Downloader\TransportException]
The "https://...
composer 多版本切换
sinat_38229472的博客
11-08
99
composer,多版本切换
composer的基本使用和常见报错解决
彭世瑜的博客
07-17
7473
一篇不错的文章。
Composer 提示 but these conflict with your requirements or minimum-stability
小龙在线
07-17
5092
安装一个模块的时候,提示:
but these conflict with your requirements or minimum-stability
原因是安装的模块和设置的需求或最小稳定版本冲突了。
可以修改composer.json把minimum-stability改为dev。...
composer报错整理
十月鱼的博客(本博客不再更新,作者迁移至:http://wiki.51centos.com)
10-20
9483
一、composer require guzzlehttp/guzzle报错Your requirements could not be resolved to an installable set of
提示组件不能被安装,搜了下说是版本不兼容。[xc@iZ19999xdnwm akm]$ composer require guzzlehttp/guzzle
Using version ^6.3
一个小案例搞懂composer.json中的minimum-stability
gztrljh
05-16
2000
composer创建项目的时候
会询问你几个问题,其中一个问题是
Minimum Stability []:
它是一个数组,可选值有如下
stable, RC, beta, alpha, dev
版本默认的稳定性依次从左到右从大到小,越左边越稳定bug越少
一般情况我们直接回车即可,不用该选项,默认它会下载稳定版的依赖
如果你还不了解一个小栗子
我们指定了最小稳定版为dev
然后我们执行
composer install
我们会发现它把topthink/framework (v5.2-rc1)给下载下
composer安装自己发布的包,提示错误minimum-stability (stable)
qq_27006679的博客
04-16
416
在composer官网提交了自己的包,安装的时候提示错误。
处理方法:
在github给包打一个tag,比如1.0.0
这样在composer就会出现这个版本号,就可以安装了,如果没有指定tag
composer默认是dev-master,所以无法安装
...
composer 设置版本号_Composer依赖管理 – PHP的利器
weixin_36308872的博客
01-06
305
别再到处搜PHP类扩展包了,对于现代语言而言,包管理器基本上是标配。Java 有 Maven,Python 有 pip,Ruby 有 gem,Nodejs 有 npm。PHP 的则是 PEAR,不过 PEAR 坑不少:依赖处理容易出问题配置非常复杂难用的命令行接口好在我们有 Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。举个例子,平时我们开始的时候如果...
敏捷开发学习笔记(一)
无戒的专栏
04-07
376
首先,看看敏捷宣言遵循的原则: (1)我们最优先要做的是通过尽早的、持续的交付有价值的软件来使客户满意。  (2) 即使到了开发的后期,也欢迎改变需求。敏捷过程利用变化来为客户创造竞争优势。   (3) 经常性地交付可以工作的软件,交付的间隔可以从几个星期到几个月,交付的时间间隔越短越好。   (4) 在整个项目开
关于 composer options配件选项合集
项目中的细节控
10-29
532
--dev:将软件包添加到require-dev。
--dry-run:模拟命令,而无需实际执行任何操作。
--prefer-source:从source可用时安装软件包。
--prefer-dist:从dist可用时安装软件包。
--no-progress:删除进度显示,该显示可能会与某些不处理退格字符的终端或脚本混淆。
--no-update:禁用自动更新依赖项(意味着--no-install)。
--no-install:更新composer.lock文件后不运行安装步骤。
--no-s
composer 设置版本号_命令行 | Composer 中文文档 | Composer 中文网
weixin_28595749的博客
02-01
366
命令行你已经学会了如何使用命令行界面做一些事情。本章将向你介绍所有可用的命令。为了从命令行获得帮助信息,请运行 composer 或者 composer list 命令,然后结合 --help 命令来获得更多的帮助信息。全局参数下列参数可与每一个命令结合使用:--verbose (-v): 增加反馈信息的详细度。-v 表示正常输出。-vv 表示更详细的输出。-vvv 则是为了 debug。--he...
composer 命令及 composer.json
afterlife_union的博客
03-10
1288
本文总结了composer 重用命令的使用方法
composer 安装不成功_Composer 安装与使用(仅学习)
weixin_39714275的博客
11-25
135
Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。Composer 默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。Composer 需要 PHP 5.3.2+ 以上版本,且需要开启 openssl...
composer 依赖包版本冲突_Composer具体安装方法
weixin_31201555的博客
12-28
2244
composer 作为依赖管理工具,使用频率还是挺高的。特别是对于我这种比较懒的程序猿,有现成轮子的时候坚决不自己重复造轮子。它主要有三部分构成:命令行工具,包仓库,代码库。包仓库就是我们常说的 composer 源,你也可以在上面发布自己的包,后续的实战我会具体介绍发布流程;代码库比如较常见的 github,gitlab 等等;命令行工具比如 windows 的 cmd,mac 的终端等等;安装...
composer 依赖包版本冲突_composer快速入门教程
weixin_33593741的博客
12-28
834
php中文网最新课程每日17点准时技术干货分享Composer 是 PHP 的一个依赖管理工具。我们可以在项目中声明所依赖的外部工具库,Composer 会帮你安装这些依赖的库文件,有了它,我们就可以很轻松的使用一个命令将其他人的优秀代码引用到我们的项目中来。Composer 默认情况下不是全局安装,而是基于指定的项目的某个目录中(例如 vendor)进行安装。Composer 需要PH...
Composer 的结构
因为我很笨拙。
06-02
626
这片文章是 composer.json 中各个字段的说明书。
一、Root Package(根目录包)
根目录包就是在你的项目的根目录由 composer.json 定义的包。主要就是由 composer.json 来定义你的项目的依赖。
某些字段只能在根目录包的中使用,比如 config 字段,只有根目录包能定义自己的配置。依赖包中的 config 字段是被忽略的。所以 con
Composer 的 --prefer-dist 参数是干什么用的?
Lubin的编程专栏
09-03
8077
仅下载代码而不要从github克隆代码
Composer问题集锦
野蛮秘籍
05-05
6355
1、报 [ErrorException] zlib_decode(): data error 错。
解决办法:执行 composer self-update 即可
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:Age of Ai
设计师:meimeiellie
返回首页
lamp_yang_3533
CSDN认证博客专家
CSDN认证企业博客
码龄8年
暂无认证
396
原创
1万+
周排名
121万+
总排名
180万+
访问
等级
1万+
积分
1084
粉丝
874
获赞
189
评论
1426
收藏
私信
关注
热门文章
如何查看MySQL的版本?
182361
如何配置Linux系统的IP地址?
103461
使用VMware给虚拟机安装linux系统
92542
Linux系统中挂载和使用光盘的基本步骤
83241
谷歌浏览器扩展程序报错 The message port closed before a response was received.
40627
分类专栏
Ubuntu
2篇
消息队列中间件
14篇
Linux 基础知识
58篇
Vue.js
24篇
Yii 2.0 框架学习笔记
20篇
Webpack
6篇
PHP
47篇
开发工具
20篇
MySQL
30篇
web服务器
9篇
PHP中常用的自定义函数
12篇
ThinkPHP
2篇
Memcache
4篇
Redis
8篇
Version Control
8篇
Socket
2篇
Yii
20篇
PHP核心技术
23篇
网站安全
3篇
其他
9篇
Linux
58篇
高性能网站架构
5篇
PHP面试题
7篇
PHP扩展
10篇
CentOS7
3篇
Docker
10篇
Web前端
14篇
Laravel
43篇
Elastic Stack
8篇
Node.js
4篇
最新评论
谷歌浏览器扩展程序报错 The message port closed before a response was received.
敲代码的小莫:
这个添加 return true 这句代码的位置 在哪里,能具体说明一下吗?是谷歌内部那个位置还是哪里???
Laravel 大数据量分块处理
Yam_3:
🐂,用了chunk解决问题了
谷歌浏览器扩展程序报错 The message port closed before a response was received.
zzz_hhh_aaa:
没用,我觉得就是api设计缺陷。他这个eventListener的回调函数在一次事件循环内如果没有主动调用响应函数,api就自动用undifiened响应,然后另一边收到undifiened就把结束端口关闭了。然后真正的响应到达的时候就会报错。
应该没法解决。
如何禁止谷歌浏览器强制跳转至 https
前端小渣渣神:
换火狐浏览器
Laravel 大数据量分块处理
jokeMike:
用了这个cursor 确实数据出现了,用get直接卡死不出来
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Win10 的 Ubuntu子系统安装可视化图形界面
Ubuntu 20.04 apt 源修改为国内的阿里云镜像源
RabbitMQ 死信队列
2021年2篇
2020年20篇
2019年56篇
2018年98篇
2017年67篇
2016年157篇
2015年4篇
目录
目录
分类专栏
Ubuntu
2篇
消息队列中间件
14篇
Linux 基础知识
58篇
Vue.js
24篇
Yii 2.0 框架学习笔记
20篇
Webpack
6篇
PHP
47篇
开发工具
20篇
MySQL
30篇
web服务器
9篇
PHP中常用的自定义函数
12篇
ThinkPHP
2篇
Memcache
4篇
Redis
8篇
Version Control
8篇
Socket
2篇
Yii
20篇
PHP核心技术
23篇
网站安全
3篇
其他
9篇
Linux
58篇
高性能网站架构
5篇
PHP面试题
7篇
PHP扩展
10篇
CentOS7
3篇
Docker
10篇
Web前端
14篇
Laravel
43篇
Elastic Stack
8篇
Node.js
4篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
lamp_yang_3533
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值