一:使用composer安装composer包时遇到Your requirements could not be resolved to an installable set of packages
分析:
这是由于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:
找到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包为例)
这是使用composer安装就成功了
网上有一种方法:使用 composer install --ignore-platform-reqs 命令设置忽略版本匹配然后再进行安装你所需要的composer包,这种方法我进行测试后发现还是报错,具体为什么就不清楚了,有知道为什么的欢迎留言告诉博主