卡在downloading是镜像未生效,而非网络问题;需运行composer install -vvv确认首行日志是否为国内镜像域名,否则说明fallback至packagist.org,再用curl验证连通性并检查项目级repositories是否覆盖全局配置。

卡在Downloading https://... 是镜像没生效还是网络真不行
先别急着调超时或换网络,90% 的“卡在 Downloading”其实是镜像配置失败,Composer 悄悄 fallback 到了 packagist.org。关键看它实际请求的是哪个地址。
- 运行
composer install -vvv,盯住第一行日志:必须出现类似Downloading https://mirrors.aliyun.com/composer/packages.json才算走对路;如果看到packagist.org,说明镜像根本没生效 - 手动验证镜像连通性:
curl -I https://mirrors.aliyun.com/composer/packages.json必须返回HTTP/2 200;返回 301、超时或 HTML 页面(比如人机验证),说明镜像地址写错、被拦截,或该源已不维护(如packagist.phpcomposer.com已停服) - 检查是否被项目级配置覆盖:项目根目录下
composer.json里只要存在"repositories": []或任何repositories字段,就会直接屏蔽全局镜像——用composer config --unset repositories临时清掉再试
卡在Resolving dependencies 是 SAT 求解器死循环,不是网络问题
这一步 PHP 还没发任何 HTTP 请求,纯本地暴力回溯版本组合。换镜像、清缓存、加 http.timeout 全无效,只会浪费时间。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 立刻中断并运行
composer update --dry-run -v,观察末尾是否反复出现同一组包名嵌套(如vendor/a → vendor/b → vendor/a),这是闭环依赖的铁证 - 检查
composer.json是否写了宽泛约束:"^1.0 || ^2.0"、"dev-main"、"*"都容易触发爆炸式回溯;临时删掉require-dev或加--no-dev缩小求解空间 - 默认内存限制(CLI 下常为 128M 或 1.5G)不够用,尤其含大量开发依赖时:用
php -d memory_limit=3G composer install强制加大,避免 OOM 杀进程后假死
卡在Executing command 是子进程挂起,process-timeout 才管用
看到日志停在 Executing command (CWD: ...),说明 ZIP 已下载完,正在跑 post-install-cmd、git clone 或解压脚本——此时 http.timeout 完全不生效。
- 设环境变量强制超时:
COMPOSER_PROCESS_TIMEOUT=1200 composer install,或在composer.json里加"config": {"process-timeout": 1200} - 手动复现卡住的命令:比如日志里显示
git clone git@github.com:user/repo.git,就直接终端执行这条命令,看是否卡在 SSH 密码提示(说明ssh-agent没启动或 key 未添加) - WSL2 用户注意:
git clone可能因元数据支持(symlink 解析)缓慢卡住,调试时可临时执行wsl --shutdown && wsl -u root sysctl -w fs.protected_regular=0(仅限临时排查)
卡在Generating autoload files 多因文件系统或权限异常
这不是 Composer 自身逻辑卡死,而是写 vendor/autoload_*.php 或扫描类文件时被底层阻塞。
- 检查
vendor/目录权限:若之前用sudo composer install,部分文件属主可能是root,后续普通用户操作会失败;修复命令:sudo chown -R $USER:$USER vendor/ composer.lock(Linux/macOS) - Windows 下杀毒软件(如 Windows Defender 实时扫描)或 OneDrive 正在同步
vendor/目录,会导致写入阻塞——临时关闭实时防护再重试 - APCu 未启用 CLI 模式也会拖慢 autoload 生成:运行
php -i | grep apc.enable_cli,若为Off,需在 CLI 的php.ini中设apc.enable_cli=1
-vvv 输出里的最后一行,才能知道该调哪个参数、查哪块环境。很多人反复清缓存、换镜像,却没发现卡点其实在 git clone 或 autoload 阶段——那根本不是网络的事。










