我正在尝试修复 Doctrine 的反序列化数据格式错误错误,如 here 所引用。 和 here 。
<小时/>我的composer.json
看起来像这样......
require: {
"symfony/symfony": "~2.5",
"doctrine/doctrine-bundle": "~1.2",
"doctrine/orm": "dev-master",
"...": "..."
}
...但是 Composer 提示它找不到匹配的包:
doctrine/orm dev-master requires doctrine/dbal >=2.5-dev,<2.6-dev -> no matching package found.
如何在不 fork 或提高 composer.json
中的最低稳定性
的情况下解决依赖关系?
更新: Nifr 的建议奏效了,这是新的配置:
"symfony/symfony": "~2.5",
"doctrine/orm": "dev-master",
"doctrine/dbal": "@dev",
"doctrine/common": "@dev",
"doctrine/doctrine-bundle": "@dev",
最佳答案
您可以将当前稳定性级别低于 Composer 中定义的“全局” 最低稳定性
的包列入“白名单”。使用 stability flags 读取 json 。
为了阻止 Composer 提示......
doctrine/orm dev-master requires doctrine/dbal >=2.5-dev,<2.6-dev -> no matching package found.
...只需要明确使用@dev
稳定性标志的doctrine/dbal包。
因此执行...
composer require doctrine/dbal:@dev
...或手动将条目添加到您的composer.json:
require: {
"...": "...",
"doctrine/orm": "dev-master",
"doctrine/dbal": "@dev"
}
对与全局最低稳定性
不匹配的所有依赖项重复此过程,直到 Composer 安装且没有任何提示为止。
进一步阅读:
Igor W. 发表了一篇出色的 blog article详细解释稳定性标志。
关于Symfony2 : How to install the dev-master version of Doctrine to resolve "Erroneous data format for unserializing" with composer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25849311/