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

Posted

技术标签:

【中文标题】Symfony 3 包创建总是抛出“编辑 composer.json 文件”【英文标题】:Symfony 3 bundle creation always throws "Edit the composer.json file" 【发布时间】:2017-12-27 19:28:02 【问题描述】:

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

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

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

【问题讨论】:

看这个答案***.com/a/44948820/4224384,默认行为已经改变了。 那么,你是说现在创建新包时总是会报这个错误? 【参考方案1】:

只改变composer.json:

之前:

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

之后:

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

最后,运行:

composer dump-autoload

【讨论】:

【参考方案2】:

编辑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 

【讨论】:

【参考方案3】:

我在 symfony 3.4.4 中也遇到过这个问题。我在 composer.json 中使用了这个角色 然后问题就解决了

之前

"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。

【讨论】:

以上是关于Symfony 3 包创建总是抛出“编辑 composer.json 文件”的主要内容,如果未能解决你的问题,请参考以下文章

Symfony Messenger 4.3 - 从理论传输中消费消息失败(抛出异常)

Symfony - 进程运行抛出异常 - 在命令行上执行有效

Symfony FOS 用户包 - 删除表单和视图中的用户名

删除捆绑包后的 symfony 致命错误

Symfony2 - 创建自己的供应商包 - 项目和 git 策略

Symfony 抛出 ServiceCircularReferenceException