Composer报错“used a deprecated source”说明正使用已下线镜像(如packagist.laravel-china.org),应立即切换至阿里云等现行有效镜像,执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/,并清缓存、删vendor和composer.lock后重试。

composer install 报错提示“used a deprecated source”或日志里出现 packagist.phpcomposer.com、packagist.laravel-china.org 等地址,说明你正在用已被弃用的镜像源——这些域名早在 2024 年底起陆续下线,现在访问会返回 404 或重定向失败,Composer 2.2+ 会明确报这个警告并 fallback 到官方源。
为什么 packagist.laravel-china.org 现在会报 deprecated
该镜像已于 2024 年 12 月正式停服,DNS 已解析失败或返回空响应。Composer 检测到 URL 不可达后,会记录 warning 并自动降级回 https://packagist.org,但此时你仍卡在慢速/超时/连接拒绝的老问题里。
- 运行
composer config -g repo.packagist,如果输出含"url": "https://packagist.laravel-china.org/"或类似地址,就是根源 - 别信“还能 curl 通”的测试——有些 CDN 缓存了 301 重定向,实际元数据接口(如
/p/monolog/monolog.json)已不可用 - Windows 用户尤其容易中招:Git Bash 里配过旧源,CMD 却读
%APPDATA%\Composer\config.json,两个地方可能不一致
必须立刻切换到当前可用的国内镜像
阿里云、腾讯云、华为云三家镜像目前稳定同步,且支持 Composer 2.2+ 的 repositories.packagist.org 新格式(虽旧命令仍兼容)。推荐用阿里云:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 全局生效(所有项目):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 项目级生效(更可靠,进项目根目录执行):
composer config repo.packagist composer https://mirrors.aliyun.com/composer/ - 验证是否写对:
composer config -g repo.packagist必须输出完整 JSON,且url字段以https://开头、以/结尾 - 若输出
null或报错 Key not found,说明键名写成了repos.packagist(多一个 s)或漏了-g
换源后仍报错?先清缓存再删 lock 文件
旧缓存里存的是失效源的元数据哈希,不清理就会一直触发 fallback 和校验失败。
- 强制清空:
composer clear-cache - 删掉
vendor/和composer.lock—— 尤其注意:不要只删vendor/,否则composer install仍按旧 lock 文件里的海外 URL 去请求 - 重装:
composer install -vvv,观察日志里是否出现GET https://mirrors.aliyun.com/composer/p2/...,有才是真走镜像 - 如果项目
composer.json里已有"repositories": []数组结构,命令会失败;需先手动改成"repositories": {}再执行
真正容易被忽略的点是:镜像只改下载路径,不解决 PHP 扩展缺失、composer.lock 脏数据、或 autoload-dev 映射残留。看到报错别急着换源,先 composer diagnose 看基础连通性,再检查 composer.lock 里有没有 "packages-dev" 块——它会让 --no-dev 失效。

















