composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 是唯一正确写法,必须严格满足三条件:键名是 repo.packagist(非 repos)、type 值为 composer、url 以 https:// 开头且结尾带 /;否则静默失败。

composer config -g repo.packagist 命令为什么总不生效
不是 Composer 没反应,是它静默失败了——拼错一个字符就当没这回事。必须同时满足三个硬条件:repo.packagist(不能是 repos.packagist)、中间的 composer type 值、URL 以 https:// 开头且末尾带 /。
-
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/✅ 是唯一正确写法 - 漏掉
composer这个 type,就会 fallback 到https://packagist.org - URL 少斜杠(如
https://mirrors.aliyun.com/composer)会导致路径拼接错误,返回 404 - 执行后必须验证:
composer config -g repo.packagist输出应为完整 URL 或{"type": "composer", "url": "..."},空、null或仍显示packagist.org都说明没写进去
项目级配置比全局更可靠
CI/CD 容器里跑的是 runner 用户,但你用 sudo composer config -g 写进了 root 的 ~/.composer/config.json,它根本读不到。项目级配置直接落进 composer.json,拉代码即生效,不依赖用户环境。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 进项目根目录,运行:
composer config repo.packagist composer https://mirrors.tuna.tsinghua.edu.cn/composer/ - 该命令会自动往
composer.json的repositories字段安全追加,不覆盖已有私有源 - 如果
composer.json已有"repositories": [](数组),命令会报错;得先手动改成"repositories": {}(对象)再执行 - 别手写
"packagist.org": false——这会彻底关掉官方源,镜像临时不可用时,composer install直接失败
换源后仍卡在 “Resolving dependencies” 怎么办
这个阶段完全不走网络,是 Composer 在本地穷举版本组合。镜像只加速下载,对 SAT 求解毫无帮助。卡住说明约束太松或环境不一致。
- 删掉
"minimum-stability": "dev"——稳定版能砍掉 80% 的求解时间 - 收紧 PHP 版本约束:
"php": "^8.1"比"php": ">=7.4"少查几百个包的兼容性元数据 - 临时禁用 xdebug:
php -d xdebug.mode=off $(which composer) install,否则解析慢 5–10 倍 - 确保
composer.lock已提交,CI 中始终用composer install(不是update)
缓存路径放错位置会让 install 慢 2–5 倍
vendor/ 不该缓存——不同 PHP 版本、扩展或 OS 下生成的 autoloader 不能混用,缓存错版本会导致 Class not found 或 Cannot declare class。真正该缓存的是 ~/.composer/cache,它只跟 composer.lock 哈希绑定,与环境无关。
- 查当前缓存路径:
composer config --global cache-dir - 强制迁移到 SSD 路径:
composer config -g cache-dir /mnt/ssd/composer-cache - 临时测试是否走新路径:
COMPOSER_CACHE_DIR=/tmp/composer-cache composer install --dry-run,再看/tmp/composer-cache下有没有新文件生成 - 换源后必须清旧缓存:
composer clear-cache,否则它仍优先读 packagist.org 的旧元数据,卡在 DNS 或 TLS 握手
composer install -vvv 日志里是否真出现 mirrors.aliyun.com 或 mirrors.tuna.tsinghua.edu.cn ——其他全是假象。










