🔧 解决方案
1. 首先检查网络连接
# 测试网络连接
ping packagist.org
ping mirrors.aliyun.com
2. 切换 Composer 镜像源(主要解决方案)
# 使用阿里云镜像(推荐)
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 或者使用腾讯云镜像
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/
# 或者使用华为云镜像
composer config -g repo.packagist composer https://repo.huaweicloud.com/repository/php/
# 查看当前配置
composer config -g --list
3. 清除 Composer 缓存并重试(这是重点,一定要做这步)
# 清除所有缓存
composer clear-cache
composer clearcache
# 删除缓存目录(Windows)
rm -rf %APPDATA%/Composer
# 或者
del /q /s %APPDATA%\Composer
# 然后重试
composer update -vvv
4. 检查代理设置(如果需要)
# 查看当前代理设置
composer config -g --list | grep proxy
# 如果有代理,暂时禁用
composer config -g --unset http-proxy
composer config -g --unset https-proxy
# 或者设置正确的代理
composer config -g http-proxy http://your-proxy:port
composer config -g https-proxy http://your-proxy:port
5. 使用详细模式查看具体错误
# 使用详细输出查看具体错误
composer update -vvv
# 或者
composer install -vvv
6. 临时禁用 SSL 验证(如果 SSL 证书有问题)
# 临时禁用 SSL 验证
composer config -g disable-tls true
composer config -g secure-http false
# 安装完成后记得恢复
composer config -g disable-tls false
composer config -g secure-http true
7. 检查防火墙和 hosts 文件
# 检查 hosts 文件(Windows)
notepad C:\Windows\System32\drivers\etc\hosts
# 确保没有屏蔽 packagist.org 或镜像域名
8. 使用备用方案:离线安装
如果网络问题无法解决,可以考虑:
# 1. 在其他有网络的环境下载包
composer require aws/aws-sdk-php:3.344.6 --prefer-dist
# 2. 将 vendor 目录和 composer.lock 复制到当前项目
# 3. 运行
composer dump-autoload
9. 验证 Composer 配置
# 检查全局配置
composer config -g --list
# 检查项目配置
composer config --list
# 重置为默认配置(如果需要)
composer config -g --unset repos.packagist
📋 诊断步骤
请运行以下命令输出结果:
# 测试连接
curl -v https://packagist.org/packages.json
curl -v https://mirrors.aliyun.com/composer/packages.json
# 检查 Composer 版本
composer --version
# 检查 PHP 版本
php --version