问题描述
当尝试安装Api平台(或在现有的Api平台安装上运行composer update
时,出现如下错误:
未捕获的错误:参数1传递给ApiPlatform \ Core \ Bridge \ Doctrine \ Orm \ Metadata \ Property \ DoctrineOrmPropertyMetadataFactory :: __ construct()必须是Doctrine \ Common \ Persistence \ ManagerRegistry的实例,Doctrine \ Bundle \ DoctrineBundle的实例\ Registry给定,在第1530行的App_KernelDevDebugContainer.PHP中调用[“ exception” => TypeError {…}]
我该怎么做才能正确安装Api-Platform?为什么更新失败?
解决方法
在发布新版本的Api-Platform之前(可能会很快推出),您可以通过将其添加到composer.json
中来回避问题:
"conflict": {
"doctrine/common": ">= 3.0","doctrine/persistence": "^1.0"
}
(由于您可能已经拥有一个conflict
键,所以只需将一行添加到现有的conflict
规则中即可。)
已发布doctrine/common
的新版本,并且当前版本的Api-Platform与之不兼容。
在不久的将来,一旦发布了新版本的Api-Platform,您就可以删除该行。
Here是一个问题,您可以随时关注讨论,并希望在此捆绑包级别跟踪问题何时得到解决。
这不再是必需的。您可以使用最新的Api-Platform软件包来更新到最新的Doctrine软件包,并且每个软件包都可以正常工作。