composer install卡在“loading composer repositories”是因为未配置https-proxy,必须同时设置http-proxy和https-proxy且值均为http://开头的地址,仅配http-proxy无效。

Composer install 卡在 “Loading composer repositories” 不是 Composer 慢,是你没配对 https-proxy —— 只设 http-proxy 完全无效,必须同时配置 http-proxy 和 https-proxy 两个字段,且值都得是 http:// 开头的地址。
为什么只配 http-proxy 还是卡住
Composer 对 HTTP 和 HTTPS 请求走完全独立的代理路由:http-proxy 只处理 http:// 请求,而 Packagist、GitHub API、codeload 等全部走 https://,必须由 https-proxy 字段接管。漏掉它,Composer 就会静默 fallback 到直连,结果就是卡在第一步,日志里既不报错也不超时。
-
https-proxy的值必须是http://127.0.0.1:7890这种格式,哪怕你的代理监听的是 HTTPS 端口(如https://127.0.0.1:8443),Composer 也不支持,填进去就失效 - 填成
https://127.0.0.1:7890或漏掉协议头(如127.0.0.1:7890)会导致 CONNECT 隧道建立失败,现象和没配一样 - Windows 下若用 NTLM 代理(比如企业域环境),Composer 原生不支持,得先用
cntlm或px在本地起一个http://127.0.0.1:3128的中转层
全局代理配置的正确命令写法
别手改 ~/.composer/config.json,用 composer config -g 最稳。两条命令必须都执行,缺一不可:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
composer config -g http-proxy http://127.0.0.1:7890 composer config -g https-proxy http://127.0.0.1:7890
- 如果代理需要认证,URL 写成
http://user:pass@127.0.0.1:7890;密码含@、/、:必须 URL 编码,例如pa@ss/word→pa%40ss%2Fword - 验证是否生效:运行
composer config -g --list | grep -E "(http|https)-proxy",输出里必须同时出现两行,且格式正确 - 取消代理只需执行
composer config -g --unset http-proxy和composer config -g --unset https-proxy
代理配了但 composer install 仍慢或失败?快速定位三层问题
现象一致,但故障点可能在任意一层。别靠猜,按顺序验证:
- 本地代理进程是否真在运行?端口是否被防火墙拦截?用
curl -x http://127.0.0.1:7890 -I https://packagist.org/packages.json直接测,返回 200 才算通 - 是否误删了
composer.lock和vendor/?镜像或代理只影响元数据拉取,ZIP 包下载地址(dist.url)仍固化在 lock 文件里,不删就永远走旧链接 - 项目级
composer.json里有没有"repositories"字段?哪怕只写了{}或[],也会直接屏蔽全局镜像和代理配置
腾讯云/CVM 环境下更推荐换镜像而非配代理
你在腾讯云服务器上跑 composer install,大概率不是网络不通,而是 DNS 解析慢或 TLS 握手卡在海外节点。配代理多一层依赖,还容易因版本或协议不兼容出问题。
- 直接切腾讯云官方镜像最稳妥:
composer config -g repo.packagist composer https://mirrors.cloud.tencent.com/composer/ - 切完立刻清缓存:
composer clear-cache - 验证是否生效:
composer show laravel/framework --no-ansi | head -n 3,看到 URL 含mirrors.cloud.tencent.com就说明成功 - 注意:公司内网或已部署私有镜像的 CI 环境,配代理反而引入额外故障点,优先走内网直连镜像
代理不是万能加速器,它只是绕过策略的兜底手段;真正稳定的方案,是让请求路径尽可能短——镜像源 + 正确的 dist 域名替换(如 github-domains)+ 彻底清理 lock 文件,这三者缺一不可。很多人卡在最后一步,删了 vendor 忘删 lock,或者删了 lock 忘清缓存,结果反复踩同一个坑。










