我在服务器上安装了Linuxbrew。然而,当我尝试运行任何命令时,我都会遇到curl(brew用于获取其更新)的问题。通常当其他类似的工具遇到这种问题时,它们会提供一个标志来取消证书检查,而curl
本身使用-k
标志为您提供了这种可能性。
但是在brew的文档中我没有找到这样的标志。因此,我的第二个猜测是设置标志insecure
n放在我家的.curlrc
文件设置为默认值,curl不检查SSL证书。
下面是我运行bew时的输出示例:
-bash-4.1$ brew update
==> Installing dependencies for curl: patchelf, zlib, binutils, linux-headers, glibc, m4, gmp, mpfr, libmpc, isl@0.18, gcc, pkg-config and openssl
==> Installing curl dependency: patchelf
==> Downloading https://linuxbrew.bintray.com/bottles/patchelf-0.10.x86_64_linux.bottle.tar.gz
curl: (60) Peer certificate cannot be authenticated with known CA certificates
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle"
of Certificate Authority (CA) public keys (CA certs). If the default
bundle file isn't adequate, you can specify an alternate file
using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
the bundle, the certificate verification probably failed due to a
problem with the certificate (it might be expired, or the name might
not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
the -k (or --insecure) option.
Error: Failed to download resource "patchelf"
Download failed: https://linuxbrew.bintray.com/bottles/patchelf-0.10.x86_64_linux.bottle.tar.gz
1条答案
按热度按时间mhd8tkvw1#
为了让Homebrew接受
.curlrc
文件中指定的选项,需要设置一个标志。根据文件:
HOMEBREW_CURLRC
如果设置了,在调用curl(1)时不要传递--disable,这会禁用curlrc的使用。
因此,只需运行此脚本,以使homebrew忽略SSL证书验证: