Решение
Я использовал сообщение Бруно, чтобы найти решение, но чувствую, что его нужно сделать более конкретным, так что это именно то, что я сделал.
- Скачано cacert.pem в мой ~ / .ssh dir (я не знаю, куда это должно идти, но я видел, как кто-то делал что-то подобное, пытаясь найти решение, так что это где я его положил).
- Установите env var CURL_CA_BUNDLE для установки. Это на самом деле решение № 4 с веб-сайта , предложенного в результате сбоя. Я просто неправильно понял, что они говорили (простой пример мог бы сэкономить мне часы путаницы). В любом случае вам нужно будет указать полный путь к файлу .pem, затем вы можете установить его так:
$ CURL_CA_BUNDLE=~/.ssh/cacert.pem ruby -e "$(curl -fsSL <a href="https://raw.github.com/gist/323731" rel="nofollow">https://raw.github.com/gist/323731</a>)"
И тогда он будет установлен!
Оригинальный вопрос
Как мне тоже
- установить доморощенный или
- установить curl с SSL, чтобы я мог установить homebrew?
Я на Mac OSX Leopard.
Я пытаюсь установить homebrew , но я получаю следующую ошибку:
$ ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/Formula/...
/usr/local/Library/Homebrew/...
==> The following directories will be made group writable:
/usr/local/bin
/usr/local/lib
/usr/local/lib/pkgconfig
/usr/local/share/man/man1
/usr/local/share/man/man3
Press enter to continue
==> /usr/bin/sudo /bin/chmod g+w /usr/local/bin /usr/local/lib /usr/local/lib/pkgconfig /usr/local/share/man/man1 /usr/local/share/man/man3
==> Downloading and Installing Homebrew...
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
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). The default
bundle is named curl-ca-bundle.crt; 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.
gzip: stdin: unexpected end of file
/usr/bin/tar: Child returned status 1
/usr/bin/tar: Error exit delayed from previous errors
Failed during: /bin/bash -o pipefail -c '/usr/bin/curl -sSfL https://github.com/mxcl/homebrew/tarball/master | /usr/bin/tar xz -m --strip 1'
Я попытался установить curl с помощью macports и указать + ssl, но это не сработало (извините, я не помню, в чем была ошибка, и потребовалось около часа, чтобы добраться до этой точки, поэтому я не хочу сделать это снова). Я удаляю локон из macports и затем запускаю $ whereis curl
, который ничего не находит.
Итак, я захожу на сайт , предложенный в сообщении об ошибке выше. Большинство параметров не применимы, но вариант 5 имеет некоторый смысл:
Получите лучший / другой / новый сертификат CA!
Один из вариантов - извлечь тот, который использует недавний браузер Firefox.
запустив команду make ca-bundle в корне дерева сборки curl
Итак, я получаю исходный код curl и запускаю $ ./buildconf
, $ ./configure
, $ make
, $ make ca-bundle
и, наконец, $ sudo make install
. Я проверяю $ whereis curl
и он говорит "/usr/bin/curl".
Но когда я снова запускаю команду homebrew install (в новом окне терминала), я получаю ту же ошибку, показанную выше.