Установка curl с ssl, чтобы я мог установить homebrew

Решение

Я использовал сообщение Бруно, чтобы найти решение, но чувствую, что его нужно сделать более конкретным, поэтому это явно то, что я сделал.

  1. Загрузил cacert.pem в свой каталог ~ / .ssh (я не знаю, куда он должен идти, но я видел, как кто-то делал нечто подобное, пытаясь чтобы найти решение, вот где я его поместил).
  2. Установите env var CURL_CA_BUNDLE для установки. На самом деле это решение номер 4 с веб-сайта , предложенное ошибкой. Я просто неправильно понял, что они говорили (простой пример мог бы сэкономить мне часы путаницы). В любом случае вам нужно указать полный путь к файлу .pem, тогда вы можете установить его следующим образом $ CURL_CA_BUNDLE = ~ / .ssh / cacert.pem ruby ​​-e "$ (curl -fsSL https://raw.github.com/gist/323731 )" И затем он устанавливается!

Исходный вопрос

Как мне

  1. установить homebr ew, или
  2. установить 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, но это не сработало (извините, я не помню, в чем была ошибка, и мне потребовалось около часа, чтобы добраться до этой точки, поэтому я не не хочу делать это снова). Я удаляю curl из 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 (в новом окне терминала), я получаю ту же ошибку, что и выше. .

5
задан Joshua Cheek 4 July 2011 в 03:18
поделиться