我需要安装SonataUserBundle才能安装SonataNewsBundle。
我一步一步跟着installation Tutorial,但我收到了这个错误:
./app/console sonata:easy-extends:generate SonataUserBundle
[InvalidArgumentException]
Bundle "ApplicationSonataUserBundle" does not exist or it is not enabled.
尚未生成捆绑包。这个命令应该这样做!
任何人都知道如何解决这个问题?
答案 0 :(得分:31)
编辑2016/09/23 :这个答案可能有点过时了。如果这不起作用,您可以稍后探索@ashish answer。
在Sonata用户套装设置期间,建议您将 doctrine:orm 映射到 ApplicationSonataUserBundle ,这在奏鸣曲:easy-extends期间无法完成:生成SonataUserBundle ,因为ApplicationSonataUserBundle尚不存在。
所以在推出你的奏鸣曲:easy-extends:生成SonataUserBundle 命令之前,你可以评论 ApplicationSonataUserBundle 行:
# app/config/config.yml
[...]
# Doctrine Configuration
doctrine:
[...]
orm:
auto_generate_proxy_classes: %kernel.debug%
entity_managers:
default:
mappings:
# ApplicationSonataUserBundle: ~
SonataUserBundle: ~
然后你启动奏鸣曲:easy-extends:generate SonataUserBundle 命令, 最后,删除*** ApplicationSonataUserBundle上的注释(#):〜**
捆绑“ApplicationSonataUserBundle”不存在或未启用错误消失。
祝你有个美好的一天。
答案 1 :(得分:22)
在运行sonata之前执行以下步骤:easy-extends:generate
(1)在config.yaml
中注释ApplicationSonataUserBundle行 mappings:
# ApplicationSonataUserBundle: ~
SonataUserBundle: ~
(2)将Application \ Sonata \ UserBundle \ Entity \ User替换为Sonata \ UserBundle \ Entity \ BaseUser
(3)将Application \ Sonata \ UserBundle \ Entity \ Group替换为Sonata \ UserBundle \ Entity \ BaseGroup
(4)运行奏鸣曲:easy-extends:generate " php app / console sonata:easy-extends:生成SonataUserBundle -d src"
现在恢复步骤1,2和3
答案 2 :(得分:2)
我通过从config.yml删除对Application \ Sonata \ UserBundle \ Entity \ User和Application \ Sonata \ UserBundle \ Entity \ Group的引用并从AppKernel删除'new Application \ Sonata \ UserBundle \ ApplicationSonataUserBundle()'来安装它.PHP。
然后运行easy extends generate命令,然后将引用放入。我认为文档已经让这些步骤混淆了一些。在config.yml中存在之前,您无法引用它。
答案 3 :(得分:2)
您好我面临同样的问题。但我可以解决这个问题。让我们看看我在做什么:
在命令中:
php app/console sonata:easy-extends:generate -d src/ SonataUserBundle
然后在AppKernel File中写:
new Application\Sonata\UserBundle\ApplicationSonataUserBundle
现在这样做了;)
这个命令
sonata:easy-extends:generate SonataUserBundle
在“App /”文件中创建Bundle。
答案 4 :(得分:1)
您的步骤是正确的,除非它已在“app /”文件夹中创建了您的ApplicationSonataAdminBundle,因此您应该剪切此生成的ApplicationSonataAdminBundle并粘贴到“src /”文件夹中。
答案 5 :(得分:0)
那么,该命令是第5步,您需要先执行前4个步骤才能运行第5步。
您得到的错误是因为您错过了第2步:安装捆绑包并配置框架(例如AppKernel
不知道捆绑包)
答案 6 :(得分:0)
如果您不想使用“easy-extends” - 另一种可能的解决方案是覆盖 config.yml
中的默认设置sonata_user:
class:
user: Acme\UserBundle\Entity\User
group: Acme\UserBundle\Entity\Group