Symfony нет команд, определенных в пространстве имен "make"

Следуя приведенной здесь документации, я вхожу в php bin/console make:entity Product в Terminal и получает следующую ошибку:

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

Ответ 3

Может быть, вы используете среду prod?

website-skeleton по умолчанию помещает пакет Maker в раздел require-dev вашего composer.json:

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

Если вы установили APP_ENV=prod в ваш .env файл и запустили bin/console он проигнорировал бы все требования dev и, таким образом, не .env Maker.

Просто включив среду dev снова (APP_ENV=dev), тогда будет трюк.

Ответ 4

Вам нужен Symfony 3.4 или выше. Для Symfony 3.4 вам нужно добавить его в функцию registerBundles в config/AppKernerl():

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

Имейте в виду, что среда, в которой он установлен, является "dev".

Ответ 5

Если вы установили symfony/maker-bundle для режима dev, вы сможете использовать его только для этого режима. Если вы находитесь в режиме Prod, перейдите в режим Dev и попробуйте снова

Ответ 6

Цель состоит в том, чтобы перейти в режим разработки, чтобы иметь возможность создать сущность. Для этого: export SYMFONY_ENV=dev

Если это все еще не работает, как это было для меня, вы можете попробовать: php bin/console cache:clear

Тогда вы сможете запустить: php bin/console make:entity

Ответ 7

попробуйте 'composer Требуется symfony/maker-bundle --dev', это работает для меня

Ответ 8

Вы должны определить env "dev" в командной строке:

php bin/console --env dev