Windows 10 Linux子系统TLS连接异常致Composer克隆失败求助
解决WSL中Composer无法建立TLS连接克隆GitHub仓库的问题
我之前在WSL里折腾Composer的时候也踩过几乎一模一样的坑,给你几个实用的排查和解决方向:
检查并同步WSL系统时间
TLS证书验证对系统时间的准确性要求很高,如果WSL的时间和真实时间偏差太大,就会出现证书验证失败的情况。执行以下命令同步时间:sudo timedatectl set-ntp true # 或者用硬件时钟同步 sudo hwclock -s重新安装并更新CA根证书
系统的CA根证书过期或损坏也会导致无法验证GitHub的HTTPS证书。针对Ubuntu/Debian系的WSL发行版,执行:sudo apt update && sudo apt install --reinstall ca-certificates sudo update-ca-certificates切换为SSH协议访问GitHub仓库
如果HTTPS协议一直有问题,可以改用SSH克隆。步骤如下:- 在WSL里生成SSH密钥(如果还没有的话):
ssh-keygen -t ed25519 -C "your-email@example.com" - 将生成的公钥(默认在
~/.ssh/id_ed25519.pub里的内容)添加到你的GitHub账户的SSH密钥列表中 - 配置Composer优先使用SSH访问GitHub:
或者直接修改项目的composer config github-protocols sshcomposer.json,把对应仓库的地址改成git@github.com:inquam/colors.php.git
- 在WSL里生成SSH密钥(如果还没有的话):
排查网络代理问题
如果你的Windows系统开启了代理,WSL可能没有正确继承代理配置,导致TLS连接失败。可以先尝试关闭Windows端的代理,再重新运行Composer命令。如果必须用代理,在WSL里设置正确的环境变量:# 替换成你的代理地址和端口,如果是本地代理,要用Windows的局域网IP而非localhost export HTTPS_PROXY=http://192.168.x.x:port
内容的提问来源于stack exchange,提问作者inquam
相关产品推荐
相关产品推荐

