问题
ok, so im running an old Mac 10.6.8 with homebrew. brew doctor reports no errors and i have tried brew prune update etc. Everytime i try to install a package, i get this error:
curl: (77) error setting certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /usr/local/etc/openssl/certs
ive tried everything, openssl is installed, but the folder mentioned
/usr/local/etc/openssl/certs
as well as
/etc/ssl/certs/ca-certificates.crt
is not there. can anyone save me?
Full Sample:
jonathan-fullers-iMac% brew install git
Updating Homebrew...
==> Installing dependencies for git: xz
==> Installing git dependency: xz
==> Downloading https://downloads.sourceforge.net/project/lzmautils/xz-5.2.3.tar
curl: (77) error setting certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /usr/local/etc/openssl/certs
Trying a mirror...
==> Downloading https://tukaani.org/xz/xz-5.2.3.tar.gz
curl: (77) error setting certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /usr/local/etc/openssl/certs
Error: Failed to download resource "xz"
Download failed: https://tukaani.org/xz/xz-5.2.3.tar.gz
brew doctor reports:
jonathan-fullers-iMac% brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!
Warning: You are using macOS 10.6.
We (and Apple) do not provide support for this old version.
You may encounter build failures or other breakages.
Please create pull-requests instead of filing issues.
Edit
Found a stray .curlrc file, removed it, now error changed to:
jonathan-fullers-iMac% curl https://github.com
curl: (77) error setting certificate verify locations:
CAfile: /usr/local/etc/openssl/cert.pem
CApath: /usr/local/etc/openssl/certs
But the PEM file is there...:
jonathan-fullers-iMac% pwd && echo "\r\n" && ls
/usr/local/etc/openssl
cert.pem certs misc openssl.cnf private
Here is my Path, just in case:
jonathan-fullers-iMac% echo $PATH
/Users/werlious/.bin:
/usr/local/bin:
/usr/local/opt/curl/bin:
/usr/bin:
/bin:
/usr/sbin:
/sbin:
/usr/local/bin:
/usr/X11/bin
Another Edit I tried reinstalling openssl, install gave me no errors but uninstall gave me:
jonathan-fullers-iMac% brew uninstall --ignore-dependencies openssl && brew install openssl
Uninstalling /usr/local/Cellar/openssl/1.0.2l... (1,701 files, 12.7MB)
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/opt/curl/bin/curl
Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/opt/curl/bin/curl
Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/opt/curl/bin/curl
Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/opt/curl/bin/curl
Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/opt/curl/bin/curl
Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/opt/curl/bin/curl
Reason: image not found
Updating Homebrew...
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/opt/curl/bin/curl
Reason: image not found
dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/opt/curl/bin/curl
Reason: image not found
Yet Another Update So after reinstallingopenssl, i now have this:
jonathan-fullers-iMac% brew install python
Updating Homebrew...
==> Installing dependencies for python: readline, sqlite, gdbm
==> Installing python dependency: readline
==> Downloading https://ftp.gnu.org/gnu/readline/readline-7.0.tar.gz
curl: (77) error setting certificate verify locations:
CAfile: /usr/local/etc/openssl/cert.pem
CApath: /usr/local/etc/openssl/certs
Trying a mirror...
==> Downloading https://ftpmirror.gnu.org/readline/readline-7.0.tar.gz
==> Downloading from http://mirrors.ibiblio.org/gnu/ftp/gnu/readline/readline-7.
######################################################################## 100.0%
==> Downloading https://ftp.gnu.org/gnu/readline/readline-7.0-patches/readline70
curl: (77) error setting certificate verify locations:
CAfile: /usr/local/etc/openssl/cert.pem
CApath: /usr/local/etc/openssl/certs
Trying a mirror...
==> Downloading https://ftpmirror.gnu.org/readline/readline-7.0-patches/readline
==> Downloading from http://mirror.easthsia.com/gnu/readline/readline-7.0-patche
######################################################################## 100.0%
==> Downloading https://ftp.gnu.org/gnu/readline/readline-7.0-patches/readline70
curl: (77) error setting certificate verify locations:
CAfile: /usr/local/etc/openssl/cert.pem
CApath: /usr/local/etc/openssl/certs
Trying a mirror...
==> Downloading https://ftpmirror.gnu.org/readline/readline-7.0-patches/readline
==> Downloading from http://mirrors.ibiblio.org/gnu/ftp/gnu/readline/readline-7.
######################################################################## 100.0%
==> Downloading https://ftp.gnu.org/gnu/readline/readline-7.0-patches/readline70
curl: (77) error setting certificate verify locations:
CAfile: /usr/local/etc/openssl/cert.pem
CApath: /usr/local/etc/openssl/certs
Trying a mirror...
==> Downloading https://ftpmirror.gnu.org/readline/readline-7.0-patches/readline
==> Downloading from http://mirror.us-midwest-1.nexcess.net/gnu/readline/readlin
######################################################################## 100.0%
==> Patching
==> Applying readline70-001
patching file history.c
patching file patchlevel
==> Applying readline70-002
patching file history.c
patching file patchlevel
==> Applying readline70-003
patching file input.c
patching file patchlevel
==> ./configure --prefix=/usr/local/Cellar/readline/7.0.3_1
==> make install
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local,
because macOS provides the BSD libedit library, which shadows libreadline.
In order to prevent conflicts when programs look for libreadline we are
defaulting this GNU Readline installation to keg-only..
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/readline/lib
CPPFLAGS: -I/usr/local/opt/readline/include
==> Summary
/usr/local/Cellar/readline/7.0.3_1: 46 files, 1.5MB, built in 3 minutes 6 seconds
==> Installing python dependency: sqlite
==> Downloading https://sqlite.org/2017/sqlite-autoconf-3200000.tar.gz
curl: (77) error setting certificate verify locations:
CAfile: /usr/local/etc/openssl/cert.pem
CApath: /usr/local/etc/openssl/certs
Error: Failed to download resource "sqlite"
Download failed: https://sqlite.org/2017/sqlite-autoconf-3200000.tar.gz
Im so lost. i have no idea what is goin on from this point
回答1:
This error message indicates that curl is not able to establish a secure connection using openssl you can:
first
echo insecure >> ~/.curlrc
git config --global http.sslVerify false
then reinstall openssl and curl
HOMEBREW_CURLRC=1 brew reinstall openssl curl
last
sed -i '/^insecure$/d' ~/.curlrc
git config --global http.sslVerify true
回答2:
I found the solution here
Goto the keychain access, and export all the system root certificates into the /usr/local/etc/openssl directory
回答3:
Stone Info Labs's solution worked well—
Want to add clarity—
There will/should be a cert.pem file already in /usr/local/etc/openssl It may be a blank one. When you export the system root certificate from Keychain, Certificates.pem will need to be renamed to cert.pem Otherwise you can copy and paste the raw certificate code into that file.
You'll be brewin' in no time.
来源:https://stackoverflow.com/questions/45829588/brew-install-fails-curl77-error-setting-certificate-verify