Следуя приведенной здесь документации, я вхожу в php bin/console make:entity Product
в Terminal и получает следующую ошибку:
[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "make" namespace.
Следуя приведенной здесь документации, я вхожу в php bin/console make:entity Product
в Terminal и получает следующую ошибку:
[Symfony\Component\Console\Exception\CommandNotFoundException]
There are no commands defined in the "make" namespace.
make
- это команда компонента доктрины. Просто добавьте создателя доктрины.
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
по умолчанию помещает пакет 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
), тогда будет трюк.
Вам нужен Symfony 3.4 или выше. Для Symfony 3.4 вам нужно добавить его в функцию registerBundles в config/AppKernerl():
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
// [...]
$bundles[] = new \Symfony\Bundle\MakerBundle\MakerBundle();
}
Имейте в виду, что среда, в которой он установлен, является "dev".
Если вы установили symfony/maker-bundle для режима dev, вы сможете использовать его только для этого режима. Если вы находитесь в режиме Prod, перейдите в режим Dev и попробуйте снова
Цель состоит в том, чтобы перейти в режим разработки, чтобы иметь возможность создать сущность. Для этого: export SYMFONY_ENV=dev
Если это все еще не работает, как это было для меня, вы можете попробовать: php bin/console cache:clear
Тогда вы сможете запустить: php bin/console make:entity
попробуйте 'composer Требуется symfony/maker-bundle --dev', это работает для меня
Вы должны определить env "dev" в командной строке:
php bin/console --env dev