Symfony 3包创建总是抛出“编辑composer.json文件”

时间:2017-07-21 16:48:32

标签: php json symfony

您好我一直在学习symfony,每次我使用“php bin / console generate:bundle”命令创建一个包,即使我默认保留所有内容,我仍然会收到此错误:

  

该命令无法自动配置所有内容。    您需要手动进行以下更改。    编辑composer.json文件并注册该包    “autoload”部分中的命名空间:

我在stackoverflow中看到,当你尝试将软件包放在一个不同于src的文件中时,会出现此问题,但事实并非如此,因为我告诉你我默认保留所有内容;我的意思是我只需输入包名称然后继续按Enter键直到进程结束。 谁能告诉我我做错了什么?是什么原因? 感谢

3 个答案:

答案 0 :(得分:23)

只更改composer.json:

在:

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

后:

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

最后,运行:

composer dump-autoload

答案 1 :(得分:16)

  

编辑composer.json:

在:

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

后:

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

然后运行:

composer dump-autoload 

答案 2 :(得分:2)

我在symfony 3.4.4中也有这个问题。我在 composer.json 中使用此角色 然后问题得到解决

befor

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

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

然后,cmd $ composer dump-autoload。