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)
该问题是由新发布的 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
从配置中删除冲突声明的好方法。