为什么在使用"Composer Create-Project&创建项目后,依赖项不是最新的可用版本? [英] Why after creating a project with "composer create-project" the dependencies are not the latest available versions?

查看:34
本文介绍了为什么在使用"Composer Create-Project&创建项目后,依赖项不是最新的可用版本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

出于某种原因,composer create-project命令似乎拉出了过时的依赖项版本。

运行create-project后,如果我chdir创建文件夹并运行composer update,则会下载较新的版本。

aherne@aherne-System-Product-Name:/var/www/html$CD框架/ Aherne@aherne-System-Product-Name:/var/www/html/framework$作曲家更新 使用包信息更新加载Composer存储库 依赖项(包括Required-dev)包操作:0个安装, 12次更新,0次删除 -更新Lucinda/请求验证器(v1.0.4=>v1.0.8.1):下载(100%)
-更新Lucinda/国际化(v2.0.2=>v2.0.5):下载(100%)
-更新Lucinda/view-language(v2.1.1=>v2.1.7):下载(100%)
-更新Lucinda/SQL-Data-Access(v2.0.1=>v2.0.2):下载(100%)
-更新Lucinda/Errors-MVC(v1.1.4=>v1.2.1.1):下载(100%)
-更新Lucinda/MVC(v2.0.8=>v2.1.3):下载(100%)
-更新Lucinda/Security(v2.0.5=>v2.0.9):下载(100%)
-更新Lucinda/OAuth2-客户端(v1.6.2=>v1.6.3):正在下载(100%)
-更新Lucinda/NoSQL-Data-Access(v2.0.3=>v2.0.4):下载(100%)
-更新Lucinda/Logging(v2.0.3=>v2.0.5):下载(100%)
-更新Lucinda/http-cering(v2.0.1=>v2.0.3.2):正在下载(100%)
-正在更新Lucinda/framework-Engine(v1.2.5=>v1.3.6):正在下载(100%)写入锁文件生成自动加载文件

为什么composer create-project不首先下载最新的依赖项版本?

推荐答案

因为执行create-project基本上相当于克隆存储库,然后执行composer install

install下载composer.lock中声明的依赖项,其中包括特定的版本声明。运行install应该是安全的,并且只安装存储库中显式存储的声明的依赖项版本。

update则读取composer.json上声明的版本约束,下载满足这些约束的每个包的最新可用版本,然后然后更新composer.lock

这种行为对于全新的安装是不安全的,因为不仅您的直接依赖项会更新,而且可以更新的依赖项的任何依赖项也会更新,并且可能会意外地引入兼容性问题。项目中的锁定文件表示可用于安全安装按预期工作的项目的已知良好状态。

引用:

这篇关于为什么在使用"Composer Create-Project&创建项目后,依赖项不是最新的可用版本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆