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

Shopware项目中Composer执行报错问题求助

Shopware项目Composer安装/更新报错解决方案

问题原因

  • composer.json被手动编辑或代码合并时产生冲突,导致依赖约束与composer.lock完全不一致,核心依赖shopware/core未在锁文件中记录
  • phpunit/phpunit的版本约束更新为~9.5.17,但锁文件仍保留旧版本9.5.2,版本不匹配
  • 删除锁文件后执行更新时,post-update-cmd阶段的recovery组件安装脚本报错,导致更新流程中断

解决步骤

  1. 清理旧依赖与缓存

    • 删除整个vendor目录:
      # Linux/macOS
      rm -rf vendor
      # Windows
      rmdir /s vendor
      
    • 删除composer.lock文件:
      rm composer.lock
      
    • 清理Composer本地缓存:
      composer clear-cache
      
  2. 跳过脚本执行完成依赖更新
    先绕过报错的post-update-cmd脚本,完成基础依赖的同步:

    composer update --no-scripts
    
  3. 手动处理recovery组件依赖
    单独安装recovery目录的依赖,避免触发全局脚本:

    composer install --working-dir vendor/shopware/recovery --no-interaction --no-scripts
    
  4. 执行完整更新(可选)
    依赖同步完成后,重新执行正常更新命令,验证所有流程正常:

    composer update
    

后续预防措施

  • 禁止手动编辑composer.json,添加或修改依赖时使用composer require/composer require-dev命令,让Composer自动维护锁文件
  • 合并代码时重点检查composer.json和composer.lock的冲突,确保依赖约束与版本记录一致

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:02:09