不推荐使用prestissimo插件。该插件已停止维护,composer 2.0+原生支持并行下载(默认启用),强行安装易引发class not found或依赖解析失败等问题。

prestissimo 插件是否还值得用?
不推荐。prestissimo 已停止维护,且自 Composer 2.0 起,原生已内置并行下载(parallel-downloads 配置),默认启用、无需插件。强行安装 prestissimo 可能导致 composer install 报错或与新版 Composer 冲突,比如出现 Class PrestissimoPlugin not found 或依赖解析失败。
如何确认当前 Composer 是否启用并行下载?
Composer 2.2+ 默认开启并行下载,但可通过以下方式验证和微调:
- 运行
composer config -g --list | grep parallel,查看config.parallel-downloads值(默认为5) - 若需手动设置,执行
composer config -g parallel-downloads 10(值建议保持在5–15之间,过高反而因 dns/连接争抢降低速度) - 注意:该配置仅影响下载阶段,不影响包解析或 autoloader 生成
镜像源切换必须靠手动配置,没有“自动选最快”的机制
Composer 本身不提供网络测速或动态镜像路由功能。所谓“自动选最快”,实际是用户通过脚本或工具预判后,再写入配置。国内常用做法是:
- 使用
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/切换阿里云镜像 - 或用清华源:
composer config -g repo.packagist composer https://packagist.phpcomposer.com(已停用)→ 应改用https://mirrors.tuna.tsinghua.edu.cn/composer/ - 如需临时覆盖(如 CI 环境),可在命令前加环境变量:
COMPOSER_REPO_PACKAGIST=https://mirrors.aliyun.com/composer/ composer install - 切勿混用多个镜像源——Composer 不支持 fallback 链式源,
repo.packagist是全局单点配置
真想“自动选最快”?得自己加一层脚本
可写一个简单 shell 脚本,用 curl -o /dev/NULL -s -w '%{time_total}n' URL 测几个主流镜像的响应时间,取最低值后自动执行 composer config -g repo.packagist。但要注意:
- 测速结果受本地网络、DNS 缓存、cdn 节点影响,一次测速不代表长期最优
- 镜像同步延迟(如阿里云/腾讯云通常滞后主站数分钟)可能引发
Package not found错误,尤其安装非常新的版本时 - 生产环境建议固定使用一个稳定镜像(推荐阿里云),而非追求毫秒级差异
#!/bin/bash urls=( "https://mirrors.aliyun.com/composer/" "https://mirrors.tuna.tsinghua.edu.cn/composer/" "https://packagist.org/" ) best_url="" min_time=999 for url in "${urls[@]}"; do t=$(curl -o /dev/null -s -w '%{time_total}' "$url" 2>/dev/null || echo "999") if (( $(echo "$t < $min_time" | bc -l) )); then min_time=$t best_url=$url fi done if [ -n "$best_url" ]; then composer config -g repo.packagist composer "$best_url" echo "switched to: $best_url (latency: ${min_time}s)" fi
镜像源的稳定性比绝对速度重要得多,尤其在自动化部署中——一次同步延迟导致的失败,远比慢几百毫秒更难排查。