Symfony 教义错误“DoctrineMigrationsBundle 需要启用 DoctrineBundle。”

我创建了一个新的 Symfony 项目,并且不断收到“Doc​​trineMigrationsBundle 需要启用 DoctrineBundle”。错误,无法摆脱它。显然我是这个星球上唯一一个得到这个错误的人,因为谷歌并没有太大帮助。

在 config/bundles.php 文件中,我有以下内容应该“启用”DoctrineBundle,但我遗漏了一些东西,无法分辨它是什么。

return [
    SymfonyBundleFrameworkBundleFrameworkBundle::class => ['all' => true],
    DoctrineBundleDoctrineBundleDoctrineBundle::class => ['all' => true],
    DoctrineBundleMigrationsBundleDoctrineMigrationsBundle::class => ['all' => true],
];
stack overflow Symfony doctrine error "DoctrineMigrationsBundle requires DoctrineBundle to be enabled."
原文答案

答案:

作者头像

我遇到了同样的错误,由于某种原因,应该在 config/packages 内的 yaml 文件没有提交给 git。

您可以执行以下操作:

  • 创建一个新的 symfony 项目
  • 将 config/packages 文件夹从全新安装复制到我的项目
  • 如果 /bin 文件夹也丢失了,也要复制它
  • 将这两行添加到 .gitignore

    
    !/bin/
    !/config/packages/*


 [![File tree including config/packages](https://i.stack.imgur.com/EGYaF.png) ](https://i.stack.imgur.com/EGYaF.png)

(将  `!/bin`  添加到  `.gitignore`  与此错误无关,但从 symfony 6 开始不应再忽略它,并且是修复此其他错误的解决方案: `Script cache:clear returned with error code 1` 
 `Could not open input file: ./bin/console).`  当你从 git 安装一个 symfony 项目时。

 [![Error solved by adding !/bin to .gitignore](https://i.stack.imgur.com/75bjH.png) ](https://i.stack.imgur.com/75bjH.png)