如何在composer.json中为同一VCS仓库同时定义HTTP和SSH方式?
为Composer VCS仓库同时配置HTTP与SSH访问方式
你可以在composer.json的repositories数组里同时添加两个VCS仓库条目,通过指定相同的name字段关联到同一个包,就能让用户任选HTTP或SSH方式访问。具体配置如下:
{ "repositories": [ { "type": "vcs", "url": "git@github.com:vendor/secret.git", "name": "vendor/secret" }, { "type": "vcs", "url": "https://github.com/vendor/secret.git", "name": "vendor/secret" } ] }
关键说明:
name字段必须保持一致,用来明确两个仓库对应同一个包vendor/secret,避免Composer将其识别为不同包。- Composer会自动检测本地Git的认证配置,优先使用能成功建立连接的访问方式。
- 用户也可以通过Git全局配置强制切换访问方式:
- 强制用HTTP替代SSH:
git config --global url."https://github.com/".insteadOf "git@github.com:" - 强制用SSH替代HTTP:
git config --global url."git@github.com:".insteadOf "https://github.com/"
- 强制用HTTP替代SSH:
内容的提问来源于stack exchange,提问作者Dimitrios Desyllas
相关产品推荐
相关产品推荐

