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

新MacBook Pro安装Homebrew遇SSL证书验证失败,添加-k参数仍无法解决

解决Homebrew安装时的SSL自签名证书错误

Hey,我碰到过一模一样的问题!这种SSL证书错误大多是因为你的网络环境(比如公司内网、校园网)里有代理或者防火墙篡改了SSL证书,导致curl不认。你加-k没解决,大概率是子shell嵌套执行的问题,或者还有其他网络拦截因素。给你几个靠谱的解决办法:

1. 优先导入内网根证书(最安全的方式)

如果是内网的自签名证书,跳过验证(-k)其实不安全,正确操作是把内网的根证书加入系统信任库:

  • macOS:打开「钥匙串访问」,把根证书文件拖到「系统」钥匙串里,右键点击证书选择「显示简介」,在「信任」选项卡把「使用此证书时」设为「始终信任」。
  • Linux:把根证书复制到/usr/local/share/ca-certificates/目录,然后执行sudo update-ca-certificates更新信任列表。

2. 分开下载安装脚本再执行(绕开子shell参数问题)

你原来的命令是嵌套在子shell里执行的,有时候参数传递会出问题。试试分开操作:

  • 先下载脚本到本地:
    curl -fsSLk https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh -o brew_install.sh
    
  • 再运行脚本:
    /bin/bash brew_install.sh
    

这样直接本地执行脚本,比嵌套子shell更稳定。

3. 检查代理与Hosts设置

  • 如果你的系统设置了代理(HTTP_PROXY/HTTPS_PROXY环境变量),先临时取消代理试试:
    unset HTTP_PROXY HTTPS_PROXY
    
  • 要是还是不行,可能是DNS解析问题,raw.githubusercontent.com被解析到了错误的IP。你可以找个可靠的DNS工具获取它的正确IP,然后编辑/etc/hosts文件,添加一行:
    正确IP地址 raw.githubusercontent.com
    

保存后再重新尝试安装命令。

为什么加-k没用?

虽然-k能让curl跳过证书验证,但如果你的网络环境不仅篡改证书,还拦截了请求本身,或者子shell里的curl没有正确继承参数(比如某些环境下子shell会重置部分变量),那还是会失败。分开下载脚本的方式能避开这个问题。

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

火山引擎 最新活动