必须先执行composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/配置镜像源,再运行composer clear-cache清缓存,最后用--prefer-dist --no-dev等参数执行composer create-project,三者缺一不可,否则仍会卡在downloading或报“could not find package”。

直接配镜像源 + 清缓存 + 加参数,composer create-project 从卡住变秒出,不是玄学,是必须做的三件事。
composer config -g repo.packagist 命令必须写对
这条命令错一个字符就静默失效,不报错但根本不生效。常见错误包括:repos.packagist(多一个 s)、漏掉 composer 类型声明、URL 末尾没斜杠、用了 HTTP 而非 HTTPS。
-
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/✅ 正确写法 -
composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/❌ 多 s,查出来为空 -
composer config -g repo.packagist https://mirrors.aliyun.com/composer/❌ 少 type,fallback 到官方源 -
composer config -g repo.packagist composer http://mirrors.aliyun.com/composer/❌ Composer 2.x 拒绝 HTTP
验证是否生效:运行 composer config -g repo.packagist,输出应为完整 URL 或 JSON 对象,非空即对。
换源后必须清缓存再重试
缓存里存的是旧源的元数据,不清理就会继续走 packagist.org,镜像形同虚设。尤其第一次配完,一定要执行:
-
composer clear-cache—— 清掉本地已缓存的 packages.json 和 provider 文件 - 如果之前跑过失败的
create-project,删掉生成一半的项目目录再重来 - 别信“重启终端”或“等几分钟”,缓存不手动清,它不会自动过期
顺带检查缓存路径是否启用:composer config -g cache-files-dir 应返回有效路径,否则补上:composer config -g cache-files-dir ~/.composer/cache/files。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
create-project 必须加 --prefer-dist --no-dev 等参数
初始化 Laravel 或 ThinkPHP 时,默认会拉 dev 依赖、走 git clone、边下边解包——这三项在国内几乎必卡。用对参数才能真正提速:
-
--prefer-dist:强制下载 ZIP 包,跳过 git 克隆和 submodule 同步 -
--no-dev:新项目不需要phpunit、laravel/pint等开发依赖 -
--optimize-autoloader:生成 classmap,减少后续 autoload 扫描开销 -
--no-interaction:避免交互提示阻塞自动化流程
完整示例:composer create-project laravel/laravel myapp --prefer-dist --no-dev --optimize-autoloader --no-interaction。
CI 或宝塔环境里全局配置不生效怎么办
你在终端用 root 配了 config -g,但宝塔后台或 GitHub Actions 是以 www 或 runner 用户运行命令,根本读不到你的配置。这时候必须把镜像写进项目本身:
- 进项目根目录(含
composer.json),运行:composer config repo.packagist composer https://mirrors.aliyun.com/composer/(注意去掉-g) - 该命令会自动在
composer.json的repositories字段追加,不覆盖已有私有源 - 改完立刻删掉
vendor/和composer.lock,再跑composer install(不是update) - 别手写
"packagist": false,否则关掉所有基础包来源,镜像挂了就彻底失败
项目级配置可提交到 Git,所有人行为一致,这才是团队协作的真实底线。










