You need to enable JavaScript to run this app. Mac Catalina 10.15.7环境下使用Homebrew安装rbenv出现SSL错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Mac Catalina 10.15.7环境下使用Homebrew安装rbenv出现SSL错误如何解决

Catalina 10.15.7 下Homebrew安装rbenv的SSL报错解决方法

核心问题定位

报错中curl: (35) ... wrong version number属于HTTPS TLS握手阶段的异常,通常由本地网络链路干扰、旧系统SSL库版本不兼容、代理配置错误三类原因导致下载链路中断。

分步解决操作

1. 排查代理与基础网络配置

这类SSL握手错误多数由代理配置不匹配导致:

  • 检查系统与终端的代理设置,若开启了全局代理,临时关闭后测试基础连通性,确认握手异常是否消失
  • 若必须使用代理,需核对代理的HTTPS转发规则,避免非加密流量被强制触发HTTPS握手
  • 临时清除终端内错误的代理环境变量,执行unset http_proxy https_proxy all_proxy后重新发起安装命令
  • 公司内网环境需检查是否存在SSL拦截网关,这类网关会替换站点证书,和旧版Mac的SSL库不匹配时会直接触发该报错,需要将对应下载域名加入网关白名单

2. 修复旧系统的SSL库与Homebrew源兼容问题

Catalina 10.15.7 自带的OpenSSL版本较旧,且旧版Homebrew仍在使用已停止服务的Bintray分发源,和当前站点要求的TLS协商规则不匹配时会触发握手失败:

  • 先将Homebrew核心仓库重置到适配Catalina的最后维护版本,执行brew update-reset,替换已经停服的Bintray源为当前可用的分发地址,避免旧版Homebrew的下载脚本存在兼容缺陷
  • 手动验证TLS版本适配性,执行curl --tlsv1.2 -L -o /tmp/test_download.tar.gz https://github.com/rbenv/ruby-build/archive/v20201221.tar.gz,如果能正常完成下载,说明是默认TLS版本协商不兼容,需要调整curl的默认配置强制使用TLS1.2
  • 通过Homebrew安装适配Catalina的openssl@1.1组件,安装完成后将shell环境的SSL路径指向新装的库,替换系统自带的旧版本OpenSSL,解决证书与TLS版本兼容问题

3. 手动补全缓存资源绕开下载环节

如果网络调整无法快速解决,可以直接手动将缺失的资源放入Homebrew的本地缓存目录,跳过自动下载步骤:

  • 获取对应版本的ruby-build安装压缩包后,将其放入Homebrew的本地缓存路径:~/Library/Caches/Homebrew/downloads/,文件重命名为与报错提示中一致的哈希命名格式
  • 重新执行brew install rbenv命令,Homebrew检测到本地缓存已存在对应资源后,会自动跳过下载流程进入安装阶段
  • 安装完成后执行rbenv init完成shell环境配置,即可正常使用rbenv管理Ruby版本

内容的提问来源于stack exchange,提问作者Gastón Ramos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.11 22:54:01