正确配置缓存路径和键值可显著提升PHP项目构建速度。需指定~/.composer/cache为缓存路径,使用${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}作为键以确保依赖变化时缓存失效,并在composer install前恢复缓存并设置COMPOSER_CACHE_DIR环境变量,合理设置restore-keys可提高命中率,保证工作流执行顺序正确后缓存将稳定生效。

在GitHub Actions中缓存Composer依赖能显著加快PHP项目构建速度,避免每次重复下载依赖。关键是正确配置缓存路径和键值,确保命中率高且不引发安装问题。
Composer默认将依赖包缓存在~/.composer/cache目录下。在CI环境中需明确指定该路径进行缓存保存与恢复。
~/.composer/cache
缓存键应反映依赖文件内容变化,使用composer.lock的哈希值作为键的一部分可保证lock文件更新时自动失效旧缓存。
actions/cache的key字段包含${{ hashFiles('composer.lock') }}
composer-cache-${{ runner.os }}-${{ hashFiles('composer.lock') }}
确保缓存恢复在执行composer install之前完成,并正确设置环境变量提升命中率。
COMPOSER_CACHE_DIR指向缓存目录(可选,但推荐)composer install --prefer-dist --no-progress --no-scripts以适应CI环境
- name: Cache Composer dependencies
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}
restore-keys: |
${{ runner.os }}-composer-
该配置优先匹配精确键,若无则尝试还原最近一次缓存,平衡效率与灵活性。
基本上就这些,只要路径、键值和执行顺序正确,Composer依赖缓存就能稳定生效。
以上就是如何在GitHub Actions工作流中高效地缓存composer依赖?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号