唯一可靠写法是 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,漏掉 composer 类型、键名错误或 URL 缺尾斜杠均导致静默失效;需配合 clear-cache、验证配置路径及排除项目级覆盖方可生效。

composer config -g repo.packagist 是唯一可靠写法
全局镜像不是随便改个 URL 就能生效,必须用 composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 这条命令。漏掉中间的 composer(type 值),或把键名错写成 repos.packagist、mirror、repositories,配置就静默失效——命令不报错,但 composer install 依然连 packagist.org。
这条命令会自动写入当前用户的全局配置文件,且只改 repo.packagist 这个固定键,不碰其他字段,安全、可逆。想恢复官方源?执行 composer config -g --unset repo.packagist 即可。
-
https://mirrors.aliyun.com/composer/必须以/结尾,少一个斜杠会导致请求路径变成/composerpackages.json,返回 404 - Windows 用户改完要重开终端,否则环境变量未刷新,
composer config -g repo.packagist查不到新值 - CI/CD 中用
sudo composer config -g写的是 root 配置,但构建实际跑在runner或www用户下,得配对应用户的~/.composer/config.json
全局配置文件真实路径得用命令确认
别凭经验打开 ~/.composer/config.json 或 %APPDATA%\Composer\config.json 直接编辑——Composer 2.0+ 优先读 ~/.config/composer/config.json(Linux/macOS)或 %COMPOSER_HOME%\config.json(Windows),而 COMPOSER_HOME 环境变量可能已指向别处。
最稳的方式是运行:composer config --global --list,第一行输出的就是实际生效的配置文件路径。如果输出为空,说明写入失败或权限不足;如果输出里没有 repo.packagist,那镜像根本没落盘。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- Git Bash 下
%APPDATA%不展开,建议切 PowerShell 或 cmd 执行全局命令 - 手动编辑 JSON 容易出错:多一个逗号、用了中文引号、URL 没转义,都会导致 Composer 跳过整个文件,不报错也不提示
- 某些 IDE(如 PHPStorm)会缓存旧配置,改完需重启 IDE 才能识别
项目级 repositories 会完全屏蔽全局镜像
只要项目根目录有 composer.json,且里面定义了 repositories 字段,全局配置就自动失效——这不是 bug,是 Composer 的设计逻辑。验证方法很简单:composer config repo.packagist(不带 -g)如果有输出,说明项目级生效了;没输出才轮到全局。
常见错误是误以为“全局配了就一劳永逸”,结果发现某个项目还是慢。这时要么删掉项目 composer.json 里的 repositories,要么确保它显式禁用原源:{"packagist.org": false} 必须放在 repositories 数组第一位。
- 临时绕过项目级配置:加
-n参数,例如composer install -n - 彻底清理项目级镜像:
composer config --unset repositories - 某些老项目里写了
"packagist": false,这个字段已被废弃,得手动删掉
验证是否真走镜像不能只看命令输出
下载变快 ≠ 走了镜像。Composer 元数据(如 packages.json)可能走镜像,但 zip 包仍从 GitHub 拉(尤其当项目里硬写了 dist-url)。最可靠验证方式是开调试日志:composer clear-cache && composer require monolog/monolog -vvv,然后搜日志里的 GET 行。
看到 Downloading https://mirrors.aliyun.com/composer/packages.json 才算真正生效;如果看到 Downloading https://packagist.org/packages.json,说明配置没起作用。
-
composer diagnose输出中找Repo packagist.org:后面的地址,必须是你设的镜像 URL - 改完务必执行
composer clear-cache,否则旧缓存会让镜像切换看起来“没生效” - 清华镜像已停服,
https://packagist.phpcomposer.com会报cURL error 60: SSL certificate problem或 404,别再用

















