Composer可通过配置强制使用SSH协议拉取依赖。首先执行composer config –global github-protocols ssh,再在~/.composer/config.json中设置github-protocols和gitlab-protocols为[“ssh”],并可结合Git的insteadOf规则替换HTTPS为SSH,最后通过composer update验证是否生效。

Composer 使用 Git 克隆依赖包时,默认可能使用 https 或 git 协议。如果你希望统一使用某一协议(比如避免输入密码、适配公司内网或 SSH 环境),可以通过 Composer 的全局配置来设置 Git 的 URL 重写规则。
设置全局 Git 协议偏好
你可以通过修改 Composer 的全局配置,将所有 Git 包的下载协议强制替换为你偏好的协议(如 SSH 或 HTTPS)。
常用场景:
使用 SSH 避免频繁输入 GitHub/GitLab 账号密码
统一使用 HTTPS 在受限网络环境中工作
执行以下命令设置全局 Git URL 重写规则:
使用 SSH 协议:
composer config –global github-protocols ssh
这会告诉 Composer,在拉取 GitHub 项目时优先使用 SSH 协议。例如,原本通过 HTTPS 克隆的:
https://github.com/vendor/package.git
会被自动替换为:
git@github.com:vendor/package.git
强制所有 Git 请求使用 SSH(更彻底):
你还可以手动配置 Git 的 URL 替换规则:
composer config –global gitlab-strict-ssl false
composer config –global secure-http false
然后在 ~/.composer/config.json 中添加:
讯飞听见会议
科大讯飞推出的AI智能会议系统
19 查看详情
{ "config": { "github-protocols": ["ssh"], "gitlab-protocols": ["ssh"], "http-basic": { "gitlab.com": { "username": "your-access-token", "password": "" } } }}
使用自定义 Git URL 重写
如果需要更精细控制,比如将所有 GitHub 请求重定向到 SSH,可在全局配置中添加 URL 重写:
编辑 ~/.composer/config.json,加入:
"repositories": [ { "type": "vcs", "url": "https://github.com/example/package" }],"config": { "github-protocols": ["ssh"], "gitlab-protocols": ["ssh"], "preferred-install": "dist"}
或者使用 Git 自身的 global 配置辅助:
git config --global url."git@github.com:".insteadOf "https://github.com/"
这样所有通过 HTTPS 触发的 Git 操作都会被系统级替换为 SSH 协议,Composer 也会受益于这个规则。
验证设置是否生效
运行以下命令查看当前全局配置:
composer config –global –list
然后尝试更新一个依赖:
composer update vendor/package
观察输出中是否使用了 SSH 协议克隆仓库。
基本上就这些。通过组合 Composer 的协议设置和 Git 的 URL 替换机制,可以灵活控制依赖拉取方式。
以上就是如何为composer设置全局的git协议偏好的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/257056.html
微信扫一扫
支付宝扫一扫