0

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

ここに記載されている手順に従いました。ZipファイルからSymfony2.0バンドルをインストールする方法

私の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

私はこの質問Symfony2DoctrineFixturesBundle名前空間エラーを見ました、そしてそれは私がおそらく2.0symfonyで2.1バンドルを使用していることを示唆しているようです

また、Symfony 2.0.xを使用している限り、DoctrineBundleがDoctrine\Bundle名前空間に含まれることはありません。Symfony 2.0.xは、bundles\Symfonyの下のDoctrineBundleに同梱されています。問題は、Doctrine\Bundleの下にあるDoctrineBundleを期待するDoctrineFixturesBundleの新バージョンを使用しようとしていることです。私の最初の提案は、バンドルをversion = origin / 2.0にタグ付けすることで、これを解決できるはずです。–ネギ3月11日20:22

https://github.com/doctrine/DoctrineFixturesBundleの2.0バンドルを入手するにはどうすればよいですか?それでも問題があれば、私はこれに暗闇の中にいて、2日間ぶらぶらと頭をかいてきました。

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

1 に答える 1

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その後に

于 2012-08-03T20:42:02.237 に答える