Symfony logo

Solution – Why some console commands are not working in Symfony

This post is going to be a short and quick. Recently I have been working a lot with symfony and every time i face some issue turns out there is very simple solution but sometimes it doesn’t strikes as obvious solution, until we find a solution on slackoverflow or github. In this post I am going to give one such solution.

What exactly is the problem ?

I lot a project because of disk crash and cloned back from git. and downloaded my .env file from production server. I did composer install which gave me all that I need, simple right ? Well I was happy and started making changes and here i came to creating entity. We all know simplest way is to use php bin/console make:entity. That’s what I did but, boom, console is red with an error.

$ php bin/console make:entity

There are no commands defined in the “make” namespace.

You may be looking for a command provided by the "MakerBundle" which is currently not installed. Try running "composer require symfony/maker-bundle --dev".

So what did i do wrong ? I tried composer install, composer update but no use. I checked my composer.json and it was there. I checked vendor directory and it was there as well. So why it doesn’t work ?

Simple solution, which was obvious but I missed like lot of other people, as I found out when googling.

Solution:

Some command namespaces are simply not available when you are running in production mode. Solution is to use your local .env file so the environment variable APP_ENV is set to dev like APP_ENV=dev. Then clear your cache php bin/console cache:clear --env=dev and it’ll all be fine and namespaces which are limited to dev will be available for use.

Leave a Comment

Your email address will not be published. Required fields are marked *