composer下载为0 b/s说明未走国内镜像,需严格验证config -g repo.packagist输出是否为带/的正确url(如https://mirrors.aliyun.com/composer/),并清缓存、删vendor与lock、用-vvv确认日志中出现镜像域名。

composer 下载速度为 0 B/s,基本可以断定没走国内镜像,或者走了但被缓存/配置错误拦在了第一步。换源不是“试试看”,而是必须立刻执行的纠正动作。
确认当前是否真用了国内镜像源
运行 composer config -g repo.packagist,输出必须是类似 "https://mirrors.aliyun.com/composer/" 的完整 URL 字符串。如果输出为空、null、或仍是 "https://packagist.org",说明镜像根本没生效。
-
repo.packagist写成repos.packagist(多一个 s)——Composer 直接忽略,静默 fallback 回官方源 - 漏掉中间的
composertype 参数:composer config -g repo.packagist https://mirrors.aliyun.com/composer/❌,正确写法是composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/✅ - URL 末尾缺
/:比如写成https://mirrors.aliyun.com/composer,会拼出错路径,返回 404 或空响应 - 没加
-g,只改了当前项目下的composer.json,对create-project、global require等命令完全无效
清缓存 + 强制重拉元数据
即使镜像配置正确,composer 仍可能从旧缓存读取 packagist.org 的 packages.json,导致卡在 Loading composer repositories 或 Downloading https://packagist.org/packages.json —— 这时你看到的 0 B/s 其实是 DNS 超时或 TLS 握手失败,根本没发到镜像站。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 立刻执行
composer clear-cache,清掉所有本地缓存 - 删掉项目里的
vendor/和composer.lock(如有),避免残留元数据干扰 - 用
composer install -vvv 2>&1 | grep "Downloading"验证日志里出现的是mirrors.aliyun.com或对应镜像域名,而不是packagist.org
虚拟机 / Docker 环境要额外处理网络栈
在 VirtualBox、VMware 或 Docker 中,composer 卡住常不是源的问题,而是底层网络延迟放大:DNS 解析慢、TLS 握手卡、NAT 转发耗时。光换镜像不够。
- 改虚拟机或容器内
/etc/resolv.conf,只留可信 DNS:nameserver 114.114.114.114和nameserver 223.5.5.5 - 往
/etc/hosts预填关键域名 IP(用curl -I https://mirrors.aliyun.com/composer/确认当前可用 IP),例如:223.6.6.6 mirrors.aliyun.com - 禁用
systemd-resolved(如启用):sudo systemctl disable --now systemd-resolved,防止它偷偷覆盖resolv.conf - 别在挂载的宿主机目录(如
/Users/xxx/project → /var/www)里直接跑composer install——文件系统桥接 I/O 会让解压 vendor 变得极慢,看似下载卡住,其实是后续阶段阻塞
并发和超时设置要匹配 Composer 版本
新版 composer(2.2+)支持 http-max-concurrent-downloads,但很多人还在设已弃用的 parallel-downloads,结果白配。
- 设并发数:
composer config -g http-max-concurrent-downloads 10(8–10 是稳妥值,别超 15) - 调高超时:
composer config -g process-timeout 3600和composer config -g http.timeout 300 - 强制走 ZIP 包:
composer install --prefer-dist,跳过 git clone 开销 - CI/CD 中务必加
--no-dev --no-autoloader --no-scripts,这些环节不走网络,但会拖慢整体进度,且常被误认为“下载卡住”
Could not find package 不代表配置错了,而是等几小时再试——别急着换源或关 TLS。










