composer config repo.packagist.org 是最准的检查命令,直接返回当前实际生效的 packagist 镜像地址,自动合并项目级和全局配置并按优先级取值;环境变量 composer_repo_packagist 优先级最高,-vvv 日志才能真实反映请求发出的地址。

composer config repo.packagist.org 是最准的检查命令
它直接返回当前实际生效的 Packagist 镜像地址,自动合并项目级和全局配置,并按优先级取值。执行后有三种典型结果:
- 输出类似
{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"}→ 阿里云镜像已生效 - 输出
Could not find repository 'packagist.org'→ 没配任何镜像,正在用官方源https://packagist.org - 报错
Key "repo.packagist.org" does not exist→ 旧版键名残留,新 Composer 2.2+ 不认repo.packagist
加 -v 参数还能看到配置来源:global 表示来自 ~/.composer/config.json,local 表示来自当前项目的 composer.json 的 repositories 段。
环境变量 COMPOSER_REPO_PACKAGIST 优先级最高
哪怕 composer config repo.packagist.org 显示的是国内镜像,只要这个环境变量非空,Composer 就会无视所有配置文件,直连它指定的地址。
- Linux/macOS:运行
echo $COMPOSER_REPO_PACKAGIST - Windows cmd:运行
echo %COMPOSER_REPO_PACKAGIST% - PowerShell:运行
$env:COMPOSER_REPO_PACKAGIST
如果输出是 https://packagist.org 或任意其他 URL,那它就是当前真实生效源——其他配置全被绕过。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
别信 composer config -l | grep repo 的结果
composer config -l 只列出显式设置的扁平化配置项,而 repos.packagist.org.url 是嵌套结构,根本不会出现在输出里。常见误判:
-
composer config -l | grep repos.packagist扫出的可能是旧键名(如repos.packagist),不参与主源路由 -
composer config -g repo.packagist(漏掉.org)在 Composer 2.2+ 中已被弃用,返回空不代表没配镜像 -
composer diagnose不显示源地址,只做基础连通性检测;它说 “Repo packagist.org is not configured” 其实是好事,说明镜像已接管
验证真实请求发给了谁,必须看 -vvv 日志
配置写了 ≠ 请求真走那里。缓存、重定向、插件都可能让流量绕开你设的地址。
- 先清缓存:
composer clear-cache - 触发一次远程请求:
composer show monolog/monolog -vvv 2>&1 | grep "GET https" - 看到
GET https://mirrors.tuna.tsinghua.edu.cn/composer/p2/monolog/monolog.json→ 清晰确认清华源在用 - 看到
GET https://repo.packagist.org/packages.json→ 还在连官方源,镜像未生效
注意:某些镜像(如阿里云)已停服,请求会静默 fallback 到官方源,但本地配置仍显示旧地址——只有 -vvv 日志能暴露真实行为。










