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

Laravel GitHub Workflow Action缓存Composer依赖失效求助

GitHub Actions Laravel Vendor缓存失效排查方案

核心排查与修复点

  • 缓存路径与键值的精准匹配
    确保缓存路径与哈希文件路径完全对应,hashFiles的路径需基于仓库根目录配置,避免使用./前缀减少解析歧义:

    - name: Cache Composer dependencies
      uses: actions/cache@v2
      with:
        path: application/vendor
        key: ${{ runner.os }}-composer-${{ hashFiles('application/composer.lock') }}
        restore-keys: |
          ${{ runner.os }}-composer-
    
  • Composer命令的目录切换验证
    执行composer install时必须切换到application目录,否则依赖会被安装到仓库根目录的vendor,导致缓存的application/vendor始终为空:

    - name: Install Composer dependencies
      run: cd application && composer install --no-dev --optimize-autoloader
    
  • 缓存上传阶段的内容校验
    在首次部署的缓存上传步骤后,添加目录大小检查,确认application/vendor是否有实际内容:

    - name: Verify vendor directory content
      run: du -sh application/vendor
    

    如果输出为0,说明Composer安装未正确指向目标目录。

  • 哈希值一致性验证
    对比本地与Actions环境的composer.lock哈希值:

    • 本地仓库根目录执行:git hash-object application/composer.lock
    • 查看Actions日志中hashFiles生成的键值部分
      若两者不一致,说明仓库中composer.lock存在未提交的隐藏变更(如换行符、空格差异)。
  • 缓存版本与权限优化
    尝试升级到actions/cache@v3提升路径解析稳定性;若存在权限问题,添加目录权限配置:

    - name: Set directory permissions
      run: chmod -R 755 application
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:10:01