コマンドラインからプラグインをインストールしたり、キャッシュを削除したりと、開発者にとって非常に便利なbin/consoleコマンドですが、公式パッケージ版ではAPP_ENVをdevに変更すると使用できないという不具合が存在します。(EC-CUBE4.0.2時点)

bin/console list などを事項しようとするとAttempted to load class “Generator”というエラーが発生します。

In getGeneratorService.php line 8:

Attempted to load class “Generator” from namespace “Eccube\Tests\Fixture”.
Did you forget a “use” statement for e.g. “Symfony\Bundle\MakerBundle\Generator”, “Sensio\
Bundle\GeneratorBundle\Generator\Generator” or “Faker\Generator”?

これはパッケージ版にはtestsディレクトリが存在しないにも関わらず、APP_ENV=devの場合、tests内のファイルを使用しようとするためです。

解決方法1

ですので、最も簡単な解決方法はgithubからtestsディレクトリをダウンロードしてプロジェクトのルートに配置することです。

各自Gitのタグを利用して使用バージョンに合ったtestsをご利用ください。
https://github.com/EC-CUBE/ec-cube

testsディレクトリを配置することでbin/consoleスクリプトがエラーなく実行できるようになります。

解決方法2

app/config/eccube/packages/dev/generator.yamlを読み込まないよう削除するか、修正する。

 

日本発!ECオープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEに関するお問い合わせ


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ