启用缓存、使用国内镜像、优化安装参数并提交composer.lock,可显著提升GitHub Actions中Composer的执行速度。

GitHub Actions 中运行 Composer 时速度慢,通常是因为每次都要重新下载依赖、未启用缓存或镜像源较远。通过合理配置缓存和使用国内/快速镜像,可以显著提升执行效率。
Composer 安装依赖时会生成大量本地缓存文件,如果每次工作流都重新下载,会浪费大量时间。利用 GitHub Actions 的缓存功能,可将 Composer 的缓存目录(~/.composer/cache)保存下来供后续复用。
示例配置:
- name: Cache Composer dependencies
uses: actions/cache@v4
with:
path: ~/.composer/cache
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
restore-keys: |
${{ runner.os }}-composer-
这一步会在命中缓存时跳过大量远程下载,极大缩短 composer install 时间。
默认的 Packagist 源在国外,访问较慢。切换为国内镜像(如阿里云、Laravel China)或公共加速源能有效提升下载速度。
在工作流中添加镜像设置命令:
- name: Set Composer mirror run: composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/
推荐使用阿里云镜像,稳定且速度快。你也可以替换为其他可信镜像源。
减少步骤交互开销,同时使用 Composer 的优化参数,加快自动加载和跳过开发依赖(如非必要)。
例如在生产或测试场景中:
- name: Install dependencies
run: |
composer config autoloader-suffix $(date +%s)
composer install --no-progress --no-scripts --no-dev --prefer-dist --optimize-autoloader
确保 composer.lock 文件提交到仓库。这样 composer install 会直接按锁文件安装,不再分析最新兼容版本,大幅减少计算时间。
如果没有 lock 文件,Composer 需要重新解析所有依赖关系,耗时显著增加。
基本上就这些。合理使用缓存、镜像和安装参数,Composer 在 GitHub Actions 中的速度可以提升数倍,常见任务从几十秒降到几秒。不复杂但容易忽略。
以上就是在GitHub Actions工作流中如何优化composer的执行速度的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号