web-dev-qa-db-ja.com

symfonyには「make」名前空間で定義されたコマンドはありません

見つかったドキュメントに従って here 私はphp bin/console make:entity Productターミナルで次のエラーを取得します。

[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "make" namespace.

14

makeはdoctrineコンポーネントのコマンドです。単にdoctrine maker。

composer require doctrine maker

https://symfony.com/doc/current/doctrine.html#installing-doctrine

16
sensorario

試してみる

composer remove maker
composer require maker --dev

その後

php bin/console make:entity Product

https://symfony.com/doc/current/bundles/SymfonyMakerBundle/index.html

7
Oleg Kyryliv

多分あなたはprod環境を使用していますか?

website-skeleton は、デフォルトでrequire-devcomposer.jsonセクションにメーカーバンドルを配置します。

"require-dev": {
    ...
    "symfony/maker-bundle": "^1.0",
    ...
}

APP_ENV=prodファイルに.envを設定してbin/consoleを実行した場合、devのすべての要件が無視されるため、 Maker Bundleを有効にします

単純にdev環境(APP_ENV=dev)を再度有効にすると、トリックが実行されます。

5
flu

Symfony 3.4以降が必要です。 Symfony 3.4の場合、config/AppKernerl()のregisterBundles関数に追加する必要があります。

            if (in_array($this->getEnvironment(), array('dev', 'test'))) {
            // [...]
            $bundles[] = new \Symfony\Bundle\MakerBundle\MakerBundle();
        }

インストール先の環境は「dev」であることを忘れないでください。

5
Marcos Labad

コマンドラインで "dev" envを定義する必要があります:

php bin/console --env dev
php bin/console make:entity Product --env dev
1
Akiro

Devモード用にsymfony/maker-bundleをインストールした場合、このモードでのみ使用できます。 prodモードにいる場合は、devモードに移動して再試行してください

0
O.Ndiaye

目的は、エンティティを作成できるように開発モードに移行することです。そうするために : export SYMFONY_ENV=dev

それでもうまくいかない場合は、私の場合のように、試してみることができます:php bin/console cache:clear

その後、実行できるようになります:php bin/console make:entity

0
Paul

「composer require symfony/maker-bundle --dev」を試してください

0
atef zoiaidi