/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(来自Homebrew)在终端中,我得到了以下错误信息:
curl: (60) SSL证书问题:无法获取本地颁发者证书
更新:Mac 版本为 OS X El Capitan 10.11.5
附注:如果您能提供一些解释的解决方案,我将不胜感激。这是我第一次使用Mac OS。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(来自Homebrew)在终端中,我得到了以下错误信息:
curl: (60) SSL证书问题:无法获取本地颁发者证书
更新:Mac 版本为 OS X El Capitan 10.11.5
附注:如果您能提供一些解释的解决方案,我将不胜感激。这是我第一次使用Mac OS。
看起来你的curl在证书验证方面遇到了一些问题。你可以通过启用-k
选项来跳过它:
/usr/bin/ruby -e "$(curl -fsSLk https://raw.githubusercontent.com/Homebrew/install/master/install)"
raw.githubusercontent.com
会给他带来证书问题呢?跳过检查只是隐藏了问题,而不是真正解决了它们。毫无疑问,使用相同版本的Mac OS的其他用户没有遇到同样的问题吧? - Daniel Stenberg我在升级到High Sierra后遇到了与git类似的问题。以下步骤为我解决了这个问题:
这为我解决了问题。
只需手动下载文件https://raw.githubusercontent.com/Homebrew/install/master/install.sh到您的下载文件夹,然后在终端中
确保Homebrew目录存在。
cp Downloads/install.sh /opt/homebrew
cd /opt/homebrew
然后将其变为可执行文件
chmod +x install.sh
运行它
/bin/bash -c ./install.sh
或者
/bin/bash -e ./install.sh
祝您有美好的一天
我也有同样的症状,花了一整天时间查找。结果发现我的 curl
出了问题,因为 HTTPS_PROXY
被设置成了其他内容。
我的解决办法是 export HTTPS_PROXY=""
。
这个问题出现在使用homebrew
时,内部使用的curl
无法使用它用于验证的证书颁发机构进行验证。
与其避免验证证书,更好的替代方案是将缺失的证书颁发机构(CA)添加到homebrew
证书存储中。
在我的情况下,我的公司使用Zscaler Private Access,它拦截、加密并通过Zscaler网络路由互联网流量。加密内容只能由Zscaler证书解密,可以使用Zscaler CA进行验证。这导致homebrew
出现了此处提到的错误。
为了解决这个问题,我做了几件事:
cat Zscaler_Root_CA.crt >> /home/linuxbrew/.linuxbrew/etc/ca-certificates/cert.pem
export HOMEBREW_FORCE_BREWED_CA_CERTIFICATES=1
如果有人在使用PHP运行CURL时遇到相同的问题,与@Thomas Ayoub的答案等效的方法是使用:
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
如果有办法更新PHP的CA文件(或其他所需文件),以便获取所需的证书,那将是非常好的。