如果我有:
composer.lock
composer.json ,如下所示
{
"name": "fresh",
"type": "library",
"require": {
"consolidation/robo": "3.0.3"
}
}然后运行composer install,它将安装consolidation/robo并更新consolidation/robo内部依赖关系,而不是使用consolidation/robo内部composer.lock来获取库的已知工作版本。
如何使composer install在安装consolidation/robo依赖项时使用https://github.com/consolidation/robo/blob/3.0.3/composer.lock,而不是在consolidation/robo上运行等效的composer update
目前,它正在检索一个破损的内部依赖项,我必须在根composer.json中概述应该检索哪个内部依赖项。因为https://github.com/consolidation/robo/blob/3.0.3/composer.lock有库的工作版本。
发布于 2022-02-16 07:52:16
这就是作曲家所认为的工作的方式。
依赖项的锁文件被忽略,这是通过设计实现的。如果您使用的包违反了版本约束(例如,它说它与^2.1 of foo/bar兼容,但实际上只使用>= 2.1.0 && <= 2.2.2版本进行测试,并安装了版本2.3的foo/bar中断),那么要么是因为foo/bar违背了semver的承诺,要么是因为您所依赖的包没有经过充分的测试。
您可以做的就是简单地添加根composer.json
{
"conflict":
"foo/bar": ">=2.3"
}https://stackoverflow.com/questions/71134687
复制相似问题