composer慢主因是直连packagist.org,必须执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/全局换源,末尾/不可少,验证需输出完整json,且ci等环境须注意用户权限差异。

别等了,Composer 慢不是你网速问题,是默认直连 packagist.org 导致的必然结果。国内开发者不配镜像源,等于让每次 composer install 都去海外仓库“跨国取货”——DNS 解析慢、TLS 握手不稳定、CDN 节点远,卡在 Downloading 是常态,不是偶然。
全局换源必须用 composer config -g repo.packagist
只改项目 composer.json 里的 repositories,对 composer create-project、composer global require 这类命令完全无效。它们根本不读项目配置。
- 正确命令:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/(注意末尾/,漏掉会 404 或静默回退) - 必须带
-g,否则写进当前目录的composer.json,不是你想要的全局效果 - 验证是否生效:
composer config -g repo.packagist输出应为完整 JSON:{"type": "composer", "url": "https://mirrors.aliyun.com/composer/"},空、null或报错都说明没写进去 - 别用已停更的源,比如
packagist.phpcomposer.com(2025 年底已下线),访问直接 404
composer install 还卡?检查这三件事
换源后仍慢,大概率是本地环境或依赖结构拖了后腿,和网络关系不大。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
composer diagnose,重点看memory_limit—— 若是128M或更低,加COMPOSER_MEMORY_LIMIT=-1再试 - 删掉
vendor/和composer.lock,用composer install --no-cache重装;旧lock文件可能引用已下线包,触发回退查找 - 检查是否启用了 xdebug:
php -v含xdebug就临时禁用,否则依赖解析慢 5–10 倍
CI/CD 和 Docker 中必须加的三个参数
开发环境可以容忍慢,但上线部署或 CI 流水线里,composer install 必须压到最低耗时。
-
--prefer-dist:强制走 ZIP 下载,跳过所有 git clone 操作(实测比 source 快 2–5 倍) -
--no-dev:生产环境不需要phpunit、laravel/pint等,少下 20+ 个包 -
--optimize-autoloader:把 PSR-4 映射转成静态数组,autoload 阶段提速 30%+ - 完整命令示例:
composer install --no-interaction --prefer-dist --no-dev --optimize-autoloader
最易被忽略的一点:全局镜像配置在宝塔、Jenkins 或 systemd 服务中可能不生效——因为 composer config -g 写的是当前用户的 ~/.composer/config.json,而这些环境实际执行命令的用户往往是 www、jenkins 或 root。CI 脚本里别依赖全局配置,改用 --repository-url 参数覆盖更稳妥。










