网站首页 > 技术文章 正文
1.composer 版本号 ~ ^ *
(1) 包版本:*
{
"require": {
"monolog/monolog": "1.0.*"
}
}
1.0.* 这表示任何从 1.0 开始的开发分支,它将会匹配 1.0.0、1.0.2 或者 1.0.20。
(2) 包版本:~
~1.2 相当于 >=1.2,<2.0, 即 1 版本,匹配前1 位 1.
~1.2 只意味着 .2 部分可以改变,但是 1. 部分是固定的。
(3) 包版本:^
^1.2.3 相当于>=1.2.3 <1.3 即匹配前2 位 1.2
2.composer install
(1)如果已经存在composer.lock时,读取composer.lock下载依赖。
(2)如果没有 composer.lock 文件,读取 composer.json 文件,处理依赖关系,并把其安装到 vendor 目录下。
也就是说本地有一份composer.lock,你就可以保证无论过去了多久,你都能拉到相同的依赖。
所以应该把 composer.lock 放到 git 版本库中,这样可以确保你项目中的每一个人、每一台电脑,不管什么系统,都能拉取到一模一样的依赖,以减少潜在的依赖对部署的影响。
3.composer update
读取composer.json中指定的依赖,然后拉取依赖放入vendor目录下,并且把所有拉取依赖的确切的版本号写入composer.lock文件中。
(1)那么什么时候需要使用composer update呢?
比如某扩展发布的新版本有我们需要的新功能时,这时我们需要更新该扩展,我们update时指定具体更新的扩展名,如composer update package 而不要直接composer update。因为直接composer update后,所有的扩展都会更新,风险很大。
4.总结:
(1)composer update 根据composer.json来更新的,并把扩展的版本号写入到composer.lock中。
(2)composer install 根据composer.lock来更新的
(3)开发过程中 少用 composer update ,应该用 composer install
(4)如果新加一个包,可以使用:composer require "包名:版本号"
猜你喜欢
- 2024-09-14 Argo工作流可替代Cloud Composer(apache 工作流引擎)
- 2024-09-14 苹果正式为iPhone和iPad发布AR建模应用Reality Composer
- 2024-09-14 composer工作原理与实践(composer教程)
- 2024-09-14 PHP程序员必须知道的依赖管理工具Composer
- 2024-09-14 深入学习Composer原理(一)(composer教程)
- 2024-09-14 composer的主要应用(composer软件简介干嘛的)
- 2024-09-14 Ubuntu/Kali简洁高效安装最新版的docker-compose
- 2024-09-14 干货 | 如何在Avid Media Composer剪辑Cinema RAW Light素材?
- 2024-09-14 ThinkPHP最新版6.0.13 0day利用链分析
- 2024-09-14 Voyager - 不容错过的 Laravel 管理后台
- 1512℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 556℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 503℃MySQL service启动脚本浅析(r12笔记第59天)
- 481℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 479℃启用MySQL查询缓存(mysql8.0查询缓存)
- 459℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 439℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 437℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)