PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

解决composer安装composer包报Your requirements could not be resolved

藏色散人
藏色散人 转载
2021-02-22 14:23:56 4082浏览

下面由composer教程栏目带大家介绍composer安装composer包报your requirements could not be resolved,希望对需要的朋友有所帮助!

一:使用composer安装composer包时遇到Your requirements could not be resolved to an installable set of packages
07d35dc90c8cab9c7f35f03ecb3c5ac.png

分析:
这是由于doctrine/instantiator的1.1.0版本必须是PHP7.1,然而我的PHP环境是PHP7.0.12,但是我发现一个问题,我的composer.json文件内没有doctrine/instantiator包信息,那么为什么回报这样一个错误呢?
这时候我找到vendor/doctrine/instantiator发现doctrine/instantiator包已经安装在我的框架中了,打开vendor/doctrine/instantiator目录下的composer.json文件发现,这个包所需要的环境是PHP7.1:
be278df76aa6d518c81e2643fb38f74.png

找到doctrine/instantiator包的地址:https://packagist.org/package...

这时候发现doctrine/instantiator的1.1.0版本所需的PHP环境为7.1,所以我想是不是由于我的框架中的doctrine/instantiator包的版本是1.1.0导致在这个框架中安装composer包失败的呢?

解决:
1:将doctrine/instantiator包的版本变为我们需要的版本(这里我将doctrine/instantiator包的版本变为1.0.x-dev)

composer require doctrine/instantiator "1.0.x-dev"

2:将doctrine/instantiator包变为所需要的版本后再安装你需要的composer包,这时候就不会报错误了(这里我以huaweichenai/baidu-discern包为例)
360b92a8ff1ea5f178be911eb3929ca.png

这是使用composer安装就成功了

网上有一种方法:使用 composer install --ignore-platform-reqs 命令设置忽略版本匹配然后再进行安装你所需要的composer包,这种方法我进行测试后发现还是报错,具体为什么就不清楚了,有知道为什么的欢迎留言告诉博主
38ac91be45304b049c4ad7de5ab6471.png

声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除