Symfony2 - DoctrineFixturesBundle - 未找到DoctrineCommand

时间:2012-08-03 16:46:19

标签: symfony doctrine

我正在尝试手动将DoctrineFixturesBundle添加到我的symfony项目中,当我这样做时,我收到以下错误。

C:\wwwnet\symfony>php app/console doctrine:fixtures:load

Fatal error: Class 'Doctrine\Bundle\DoctrineBundle\Command\DoctrineCommand' not found in    C:\wwwnet\symfony\vendor\bundles\Doctrine\Bundle\FixturesBundle\Command\LoadDataFixturesDoctrineCommand.php on line 34

我已按照How to install a Symfony 2.0 Bundle from Zip file

列出的步骤进行了操作

在我的AppKernel中,我添加了:

$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();   

在自动加载中我有:

'Doctrine\\Bundle' => __DIR__.'/../vendor/bundles',
//'Symfony\\Bundle\\DoctrineFixturesBundle' => __DIR__.'/../vendor/bundles',
//'Doctrine\\Bundle\\DoctrineFixturesBundle' => __DIR__.'/../vendor/bundles',
'Doctrine\\Common\\DataFixtures'    => __DIR__.'/../vendor/doctrine-fixtures/lib',
'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib',
'Doctrine\\DBAL'   => __DIR__.'/../vendor/doctrine-dbal/lib',
'Doctrine'         => __DIR__.'/../vendor/doctrine/lib',

我已将捆绑包添加到:

C:\wwwnet\symfony\vendor\bundles\Doctrine\Bundle\FixturesBundle

我已经看到了这个问题Symfony2 DoctrineFixturesBundle namespace error,它似乎暗示我可能正在使用2.1捆绑带2.0 symfony

  

此外,只要您使用的是Symfony 2.0.x,DoctrineBundle就永远不会出现在Doctrine \ Bundle命名空间中。 Symfony 2.0.x附带了捆绑包\ Symfony下的DoctrineBundle。您的问题是您正在尝试使用DoctrineFixturesBundle的新版本,该版本期望DoctrineBundle在Doctrine \ Bundle下。我的第一个建议是,将bundle标记为version = origin / 2.0应该可以解决这个问题。 - 韭菜3月11日20:22

如何获取https://github.com/doctrine/DoctrineFixturesBundle的2.0套餐?如果这就是问题所在,我对此一无所知,现在已经漫无目的地挠了头两天。

  • Symfony:Symfony_Standard_Vendors_2.0.16
  • PHP:5.3.6
  • Apache:2.2

1 个答案:

答案 0 :(得分:0)

在您的deps文件中添加

[doctrine-fixtures]
    git=http://github.com/doctrine/data-fixtures.git

[DoctrineFixturesBundle]
    git=http://github.com/doctrine/DoctrineFixturesBundle.git
    target=/bundles/Symfony/Bundle/DoctrineFixturesBundle
    version=origin/2.0

所以你要在最后一行定义版本,在那之后做bin/vendor update