使用composer安装composer包报Your requirements could not be resolved to an installable set of packages

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

TIM截图20190110130410.jpg

分析:

这是由于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:

image.png

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

这时候发现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包为例)

image.png

这是使用composer安装就成功了

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

image.png

posted on 2019-01-10 14:04  huaweichenai  阅读(354)  评论(0编辑  收藏  举报

导航