make:entity symfony命令在doctrineHelper.php中给出错误

Oma*_*ali 8 php doctrine symfony doctrine-orm composer-php

我正在尝试使用命令行创建一个实体用户php bin/console make:entity

但它一直给我这个错误:

In DoctrineHelper.php line 187:

  Cannot access protected property Doctrine\ORM\Mapping\Driver\AnnotationDriver::$classNames


make:entity [-a|--api-resource] [-b|--broadcast] [--regenerate] [--overwrite] [--] [<name>]
Run Code Online (Sandbox Code Playgroud)

我已按照官方网站说明下载了所有要求https://symfony.com/doc/5.4/doctrine.html

composer.json

In DoctrineHelper.php line 187:

  Cannot access protected property Doctrine\ORM\Mapping\Driver\AnnotationDriver::$classNames


make:entity [-a|--api-resource] [-b|--broadcast] [--regenerate] [--overwrite] [--] [<name>]
Run Code Online (Sandbox Code Playgroud)

yiv*_*ivi 7

该问题是由新发布的 Doctrine ORM 2.12.0 触发的

在 Symfony 或 Doctrine 推送修复之前(还没有时间检查哪个包“有问题”),您可以降级到 Doctrine ORM 2.11.3。

在你的composer.json更改行中:

 "doctrine/orm": "^2.12",
Run Code Online (Sandbox Code Playgroud)

到:

 "doctrine/orm": "^2.11",
Run Code Online (Sandbox Code Playgroud)

并修改您的conflict部分,以便不安装 2.12:

"conflict": {
      "symfony/symfony": "*",
      "doctrine/orm": "2.12.0"
    },
Run Code Online (Sandbox Code Playgroud)

之后,运行composer update doctrine/orm降级软件包,bin/console make:entity应该可以再次工作。


我看到几天前这个问题已报告给 symfony/maker-bundle 。监控此问题是了解何时可以升级 Maker 捆绑包并doctrine/orm从配置中删除冲突声明的好方法。