我正在尝试手动将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套餐?如果这就是问题所在,我对此一无所知,现在已经漫无目的地挠了头两天。
答案 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