繁体   English   中英

“传递给 ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\Metadata\\Property\\DoctrineOrmPropertyMetadataFactory::__construct() 的参数 1 必须是一个实例……”

[英]“Argument 1 passed to ApiPlatform\Core\Bridge\Doctrine\Orm\Metadata\Property\DoctrineOrmPropertyMetadataFactory::__construct() must be an instance…”

在尝试安装 Api-Platform(或在现有的 Api-Platform 安装上运行composer update时,我收到如下错误:

未捕获的错误:传递给 ApiPlatform\\Core\\Bridge\\Doctrine\\Orm\\Metadata\\Property\\DoctrineOrmPropertyMetadataFactory::__construct() 的参数 1 必须是 Doctrine\\Common\\Persistence\\ManagerRegistry 的实例,给定的 Doctrine\\Bundle\\DoctrineBundle\\Registry 实例,在 App_KernelDevDebugContainer.php 的第 1530 行调用 ["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,您就可以删除该行。

是一个问题,您可以在其中密切关注讨论,并希望在此捆绑包级别上跟踪问题何时得到解决。


这不再是必要的。 您可以使用最新的 Api-Platform 包更新到最新的 Doctrine 包,并且每个包都可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM