我使用的是MacOS 10.10版本的(相当旧的)MacBook。我一直在努力使用自制软件安装以下程序:ffmpeg,cairo和sox。每当我运行brew install ffmpeg
时,它都运行得很好,直到最后,我遇到以下错误:
==> Downloading https://download.gnome.org/sources/glib/2.64/glib-2.64.3.tar.xz
curl: (35) SSL peer handshake failed, the server most likely requires a client certificate to connect
Error: Failed to download resource "glib"
Download failed: https://download.gnome.org/sources/glib/2.64/glib-2.64.3.tar.xz
据我所知,使用的cURL版本有问题,它不支持OpenSSL,SecureTransport也在起作用。我在运行时看到:
curl 7.43.0 (x86_64-apple-darwin14.0) libcurl/7.43.0 SecureTransport zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS IPv6 Largefile GSS-API Kerberos SPNEGO NTLM NTLM_WB SSL libz UnixSockets
似乎正在使用的cURL是操作系统内置的cURL,我尝试通过在.bash_profile
中编辑$PATH
来切换到自制的cURL,并运行以下命令,再次找到SecureTransport:
$ which curl
/usr/local/opt/curl/bin/curl
$ curl -V
curl 7.71.1 (x86_64-apple-darwin14.5.0) libcurl/7.71.1 SecureTransport zlib/1.2.5
Release-Date: 2020-07-01
但这是没有帮助的。我还尝试了brew upgrade
,brew uninstall curl
,然后brew install curl-openssl
,但这个自制安装也运行到相同的curl(35)错误。
如何禁用SecureTransport?是否有其他可能的修复方法?是否有必要将我的macOS更新到最新版本?
3条答案
按热度按时间webghufk1#
使用自制的
curl
代替。为此设置HOMEBREW_FORCE_BREWED_CURL
。来自man brew
如果设置,则始终使用Homebrew安装的curl(1)而不是系统版本。如果curl的系统版本太旧,则自动设置。
z9zf31ra2#
运行命令:
它将为当前shell会话设置一个环境变量,以使用比系统上安装的版本更新的brew curl。
你可以在官方网站homebrew documentation上了解到。
wsxa1bj13#
首先,你的情况感到很糟糕,自制软件只支持最新的三个MacOS版本(这是高塞拉,莫哈韦和 Catalina 在这一刻),这符合苹果的安全补丁政策以及。
第二,关于你的
glib
下载问题,我刚刚自己下载了一个,现在看起来工作得很好(我们通常使用bintray
自制镜像来缓解这样的问题),但是我刚刚检查了自制核心代码库,我们没有为gnome源代码构件提供镜像(希望你不会再遇到这样的问题)。第三,关于如何覆盖MacOS默认的curl,你可以只做
echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.bash_profile && source ~/.bash_profile
。以下是我在我的本地之前/之后:
第一个
最后的意见是,如果你不必安装最新的
ffmpeg
,cairo
,和sox
,我可能会找到你的瓶子MacOS 10.10
。希望能有所帮助。