You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Mac OS X 10.7.5下用Git 1.8.4.2安装Homebrew遇SSL问题求助

解决旧版Git(1.8.4.2)在Mac OS X Lion上的Homebrew SSL握手问题

你遇到的这个错误核心原因是:旧版本Git默认使用的TLS协议版本太老旧,而GitHub早已不再支持这些低版本协议。好在不用升级Git,通过调整Git的SSL配置就能解决,具体步骤如下:

临时解决(单次命令生效)

如果只是想临时完成clone或brew操作,可以在执行命令前添加环境变量,强制Git使用兼容的TLS版本和加密套件:

  • 针对Git clone命令:
    GIT_SSL_VERSION=TLSv1.2 GIT_SSL_CIPHERS='DEFAULT:@SECLEVEL=1' git clone https://github.com/Homebrew/brew.git
    
  • 针对brew命令:
    GIT_SSL_VERSION=TLSv1.2 GIT_SSL_CIPHERS='DEFAULT:@SECLEVEL=1' /usr/local/homebrew/bin/brew install wget
    

永久解决(全局Git配置生效)

如果不想每次都手动加环境变量,可以把配置写入Git全局配置,之后所有Git操作都会自动应用这些设置:

git config --global ssl.version TLSv1.2
git config --global ssl.ciphers 'DEFAULT:@SECLEVEL=1'

设置完成后,直接执行git clonebrew命令即可,无需额外添加环境变量。

原理补充

旧版Git依赖的OpenSSL版本不支持高安全级别的加密套件,@SECLEVEL=1会降低SSL安全级别要求,让旧版OpenSSL能和GitHub服务器完成握手;TLSv1.2则强制使用GitHub仍支持的协议版本,避开已废弃的TLSv1.0等协议。

内容的提问来源于stack exchange,提问作者fullstackplus

火山引擎 最新活动