You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Symfony5.2降级4.4后composer install报symfony-cmd不存在如何解决

错误含义

sh: symfony-cmd: command not found 报错发生在Composer依赖安装完成后的后置脚本执行阶段:
你当前composer.json的scripts配置项中,定义了auto-scripts使用symfony-cmd作为命令执行器,该执行器是symfony/flex Composer插件提供的专属功能。你从Symfony 5.2降级到4.4版本时没有同步调整Composer配置,要么symfony/flex包被意外移除,要么版本与当前Symfony版本不兼容,导致系统找不到对应可执行命令。
该报错不影响核心依赖安装,所以vendor文件夹可以正常生成,仅会导致缓存清理、静态资源安装这类后置操作未执行。

修复方案

提供两种适配方案,二选一即可:

方案一(推荐,兼容Symfony官方配置规范)

  • 编辑composer.json,做两处修改:
    1. 在require字段中添加symfony/flex依赖,版本选择支持Symfony 4.4的最新稳定版:"symfony/flex": "^1.17"
    2. 将extra.symfony.require字段的值从原来的5.2.*修改为4.4.*,匹配当前Symfony版本
  • 执行命令安装symfony/flex,跳过脚本执行避免报错:composer update symfony/flex --no-scripts
  • 手动执行后置脚本验证修复效果:composer run-script auto-scripts,无报错即为修复完成

方案二(无需安装symfony/flex)

如果不需要使用flex的功能,可以直接修改脚本配置,替换symfony-cmd为原生控制台命令调用:
将scripts字段下的auto-scripts配置:

"auto-scripts": {
    "cache:clear": "symfony-cmd",
    "assets:install %PUBLIC_DIR%": "symfony-cmd"
}

修改为:

"auto-scripts": {
    "php bin/console cache:clear": "script",
    "php bin/console assets:install %PUBLIC_DIR%": "script"
}

修改后执行composer run-script auto-scripts验证即可。

内容的提问来源于stack exchange,提问作者Mayor of the Plattenbaus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:27:04