为什么在使用";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
。
引用:
- create-project
- install
- update
相关文章