--repository参数可临时指定国内镜像源,仅对当前命令生效,完全忽略全局和项目配置,适用于快速验证、ci脚本隔离或绕过代理限制。

临时用 --repository 参数只对当前命令生效
不需要改任何配置文件,加一个参数就能让这次 composer install 或 composer create-project 走国内源。它会完全忽略全局和项目级设置,适合快速验证、CI 脚本隔离、或绕过公司代理限制。
composer create-project laravel/laravel demo --repository=https://mirrors.aliyun.com/composer/composer require phpunit/phpunit --repository=https://mirrors.huaweicloud.com/repository/phpcomposer update -vvv --repository=https://mirrors.cloud.tencent.com/composer/
注意:composer update 和 composer install 支持 --repository,但 composer create-project 不支持 -r 简写,必须用完整参数;漏掉 -- 或拼错参数名(比如写成 --repo)会静默失效。
为什么加了 --repository 还是慢或报错
常见现象不是网络问题,而是镜像源本身没同步新包,或者 URL 写错。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 报
Could not find package xxx:说明该包在指定镜像中尚未同步(尤其刚发布的版本),等 5–10 分钟再试,或换阿里云/腾讯云源(同步延迟低) - 仍看到
Repo packagist.org is default:说明参数根本没被识别,检查是否多空格、少等号、URL 缺末尾/,或用了已停用的旧地址(如packagist.phpcomposer.com) - 下载 ZIP 包仍慢:镜像只加速元数据(
p2/目录)读取,ZIP 包仍从 GitHub/GitLab 直链下载——这是正常行为,不是镜像失效
临时切换时怎么确认真正在用国内源
别只看命令有没有报错,得验证实际请求路径。
- 加
-vvv参数运行命令,观察日志里出现的 URL 是否含mirrors.aliyun.com或对应镜像域名 - 执行
composer show laravel/framework --no-ansi | head -n 3,输出里如果出现https://mirrors.xxx.com/composer/就说明生效了 - 用
curl -I https://mirrors.aliyun.com/composer/packages.json手动测通不通,排除 DNS 或防火墙拦截
临时方案和 CI 脚本怎么写才不污染环境
CI 场景下最怕全局配置残留,--repository 是最干净的选择,但要注意命令兼容性。
-
composer install --repository=https://mirrors.tuna.tsinghua.edu.cn/composer/安全可靠 - 避免在脚本里执行
composer config -g,哪怕后面加unset也可能因异常退出而残留 - 如果必须用老版本 Composer(composer self-update
- 不要混用
--repository和项目级repositories字段,前者会覆盖后者,但逻辑难追溯
临时切换的关键是“单次、隔离、可验证”,一旦写错 URL 或选错镜像,Composer 不会报明确错误,只会 fallback 到官方源默默变慢——所以每次换源后务必用 -vvv 看一眼实际请求地址。










