L'installation de curl avec ssl afin que je puisse installer homebrew

La Solution

J'ai utilisé de Bruno post pour trouver la solution, mais il faut que ce soit plus concret, c'est explicitement ce que j'ai fait.

  1. Téléchargé cacert.pem dans mon ~/.ssh dir (je ne sais pas si c'est là où il doit aller, mais j'ai vu quelqu'un faire quelque chose de similaire, tout en essayant de trouver une solution, c'est donc là que je l'ai mis).
  2. Ensemble de l'env var CURL_CA_BUNDLE pour l'installation. C'est en fait la solution numéro 4 de le site web suggéré par l'échec. J'ai juste mal compris ce qu'ils disaient (un exemple simple pourrait m'avez sauvé des heures de confusion). De toute façon, vous aurez besoin de spécifier le chemin d'accès complet à l' .fichier pem, alors vous pouvez l'installer comme ceci $ CURL_CA_BUNDLE=~/.ssh/cacert.pem ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)" Et alors qu'il est installé!

La Question D'Origine

Comment puis-je soit

  1. installer homebrew, ou
  2. installer curl avec SSL afin que je puisse installer homebrew?

Je suis sur Mac OSX Leopard.

Je suis en train de installer homebrew, mais j'obtiens l'erreur suivante:

$ 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'

J'ai essayé d'installer curl avec macports et en précisant +ssl, mais cela ne fonctionne pas (désolé, je ne me souviens pas de ce que l'erreur a été, et il a fallu environ une heure pour arriver à ce point, donc je ne veux pas le faire à nouveau). - Je désinstaller la boucle de macports, puis exécutez $ whereis curl qui ne trouve rien.

Donc, je vais à le site suggéré dans le message d'erreur ci-dessus. La plupart des options ne semblent pas applicable, mais l'option 5 est un peu logique:

Mieux/différent/nouveaux CA cert bundle!
Une option consiste à extraire le un un récent navigateur Firefox utilise
en exécutant 'faire ca-bundle" dans la boucle construire la racine de l'arbre

Donc, je reçois le curl code source et exécuter $ ./buildconf, $ ./configure, $ make, $ make ca-bundle, et enfin $ sudo make install. - Je vérifier $ whereis curl et il dit: "/usr/bin/curl".

Mais quand je lance le homebrew installer à nouveau la commande (dans une nouvelle fenêtre de terminal), j'obtiens le même message d'erreur indiqué ci-dessus.

OriginalL'auteur Joshua Cheek | 2011-07-03