Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symfony 3 bundle creation always throws "Edit the composer.json file"

Tags:

json

php

symfony

Hi I've been learning symfony, and every time I use the "php bin/console generate:bundle" command to create a bundle, even though I leave everything by default, I keep getting this error:

The command was not able to configure everything automatically. You'll need to make the following changes manually. Edit the composer.json file and register the bundle namespace in the "autoload" section:

I saw here in stackoverflow that this problem shows up when you try to put the bundle in a file different than src, but that's not the case, as I told you I leave everything by default; I mean I just enter the bundle name and then keep pressing enter until the proccess ends. Can anyone tell me what am I doing wrong? what's the cause? Thanks

like image 843
gerard Avatar asked Jul 21 '17 16:07

gerard


3 Answers

Only change composer.json:

Before:

"psr-4": {
            "AppBundle\\": "src/AppBundle"
        },

After:

"psr-4": {
            "": "src/"
        },

And finally, run:

composer dump-autoload
like image 157
devalexanderdaza Avatar answered Nov 05 '22 06:11

devalexanderdaza


Edit composer.json:

Before:

"autoload": {
    "psr-4": {
        "AppBundle\\": "src/AppBundle",
    },
    "classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
}'

After:

"autoload": {
    "psr-4": {
        "AppBundle\\": "src/AppBundle",
        "NameofBundle\\": "src/NameofBundle"
    },
    "classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},

Then run:

composer dump-autoload 
like image 41
kenny Avatar answered Nov 05 '22 06:11

kenny


I had this problem in symfony 3.4.4 too.I use this role in composer.json And then the problem was fixed

befor

"autoload": {
    "psr-4": {
        "AppBundle\\": "src/AppBundle"
    },
    "classmap": [ "app/AppKernel.php", "app/AppCache.php" ]
},

after

"autoload": {
     "classmap": [
       "app/AppKernel.php",
       "app/AppCache.php"
     ],
 "psr-4": {
 "": "src/"
 }
 },

and then, cmd $ composer dump-autoload.

like image 2
pedram shabani Avatar answered Nov 05 '22 06:11

pedram shabani