見つかったドキュメントに従って here 私はphp bin/console make:entity Product
ターミナルで次のエラーを取得します。
[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "make" namespace.
make
はdoctrineコンポーネントのコマンドです。単にdoctrine maker。
composer require doctrine maker
https://symfony.com/doc/current/doctrine.html#installing-doctrine
試してみる
composer remove maker
composer require maker --dev
その後
php bin/console make:entity Product
https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html
prod
環境を使用していますか?website-skeleton
は、デフォルトでrequire-dev
のcomposer.json
セクションにメーカーバンドルを配置します。
"require-dev": {
...
"symfony/maker-bundle": "^1.0",
...
}
APP_ENV=prod
ファイルに.env
を設定してbin/console
を実行した場合、dev
のすべての要件が無視されるため、 Maker Bundleを有効にします。
単純にdev
環境(APP_ENV=dev
)を再度有効にすると、トリックが実行されます。
Symfony 3.4以降が必要です。 Symfony 3.4の場合、config/AppKernerl()のregisterBundles関数に追加する必要があります。
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
// [...]
$bundles[] = new \Symfony\Bundle\MakerBundle\MakerBundle();
}
インストール先の環境は「dev」であることを忘れないでください。
コマンドラインで "dev" envを定義する必要があります:
php bin/console --env dev
php bin/console make:entity Product --env dev
Devモード用にsymfony/maker-bundleをインストールした場合、このモードでのみ使用できます。 prodモードにいる場合は、devモードに移動して再試行してください
目的は、エンティティを作成できるように開発モードに移行することです。そうするために : export SYMFONY_ENV=dev
それでもうまくいかない場合は、私の場合のように、試してみることができます:php bin/console cache:clear
その後、実行できるようになります:php bin/console make:entity
「composer require symfony/maker-bundle --dev」を試してください