`composer update` 更新依赖库失败,报错:'Your requirements could not be resolved to an installable set of packages.'
在更新和安装依赖库的时候报错:Your requirements could not be resolved to an installable set of packages.
。下面还有一大段关于每个依赖包获取不到资源的错误提示。
网上有教程说,首先检查 版本格式
是否写正确。另一个就是 php 版本有问题。前者因为项目之前是已上线的项目,版本格式经得起推敲的。后者 php 版本要求 "php": ">=5.5.9"
,本地 7.0 也是满足的。
猜想会不会是新安装的 composer 使用的默认的依赖库(packagist.org),而拿不到相应的依赖库代码。
原始 composer.json 内定义的依赖库源地址:
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
这与 composer 中国镜像 的推荐使用方法是一致的,照理说是不应该存在问题的。不放心又添加了阿里云的镜像地址:
"repositories": [
{
"type": "composer",
"url": "https://packagist.phpcomposer.com"
},
{
"type": "composer",
"url": "https://mirrors.aliyun.com/composer"
}
]
然后再执行 composer update
,竟然可以了。
回过头来尝试去掉阿里云的镜像地址:
"repositories": [
{
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
]
竟然还是可以的,反复测试源地址的定义方法对 composer 执行结果的影响,确定 repositories
定义为数组时依赖包解析正确,而按照 composer 中国镜像上定义单个对象源地址时就会报错。