Если вы работаете в Mac OS X, вы можете установить пакет ca-cert через homebrew
:
$ brew install curl-ca-bundle
$ git config --system http.sslcainfo /usr/local/share/ca-bundle.crt
Формула устанавливает пакет сертификатов в вашу папкучерез:
share.install 'ca-bundle.crt'
Метод share
является просто псевдонимом /usr/local/share
, а curl-ca-bundle предоставляется Mozilla
.Это то, на что вы видите ссылки во многих вопросах.Надеюсь, что это поможет, поскольку не совсем понятно, как подойти к этому на Mac OS X. brew install curl
тоже не принесет вам много пользы, так как это только бочонок и не будет связан (работает which curl
всегда будет выводить /usr/bin/curl
(по умолчанию поставляется с вашей ОС). Это сообщение также может иметь некоторое значение .
Вам, конечно, нужно отключить SSL перед установкой homebrew
, так как это git-репо.Просто делайте то, что говорит curl, когда он выдает ошибку во время проверки SSL и:
$ echo insecure >> ~/.curlrc
Как только вы установите homebrew
вместе с curl-ca-bundle
, удалите .curlrc
и попробуйте клонировать репо на github.Убедитесь, что ошибок нет, и все будет в порядке.
ПРИМЕЧАНИЕ: Если вы прибегаете к .curlrc
, удалите его из системы, как только вы закончите.тестирование.Этот файл может вызвать серьезные проблемы, поэтому используйте его во временных целях и с осторожностью.brew doctor
будет жаловаться на случай, если вы забудете удалить его из своей системы).
ПРИМЕЧАНИЕ: Если вы обновите свою версию git, вам потребуется повторно запустить эту команду, поскольку ваша системанастройки будут удалены (они хранятся относительно двоичного файла git в зависимости от версии).
Итак, после запуска:
$ brew update
$ brew upgrade
Если вы получите новую версию git, то простоперезапустите:
$ git config --system http.sslcainfo /usr/local/share/ca-bundle.crt
И все будет готово.
Наконец, если у вас есть новая версия git, выполните:
$ git config -l --system
должно дать вамошибка по линиям
fatal: unable to read config file '/usr/local/Cellar/git/1.8.2.2/etc/gitconfig'
Вот ваш совет, который вы должны указать git, где находится пакет Mozilla.
ОБНОВЛЕНИЕ:
.curlrc
может или не может быть решением вашей проблемы.В любом случае, просто установите пакет Mozilla, установленный на вашем компьютере, независимо от того, нужно ли вам загружать его вручную или нет.Вот что здесь важно.Как только вы получите пакет, вы готовы.Просто запустите команду git config и укажите git на пакет ca.
ОБНОВЛЕНИЕ
Мне недавно пришлось добавить:
export CURL_CA_BUNDLE=/usr/local/share/ca-bundle.crt
в мой .zshenv
файл точек, так как я использую zsh
.опция git config
работала в большинстве случаев, но при использовании github по SSL (например, rvm get stable
) я все еще сталкивался с проблемами с сертификатами.@Maverick указал на это в своем комментарии, но на тот случай, если кто-то пропустит это или предположит, что ему не обязательно экспортировать эту переменную среды в дополнение к выполнению команды git config --system....
.Спасибо и надеюсь, что это поможет.
ОБНОВЛЕНИЕ
Похоже, curl-ca-bundle был недавно удален из homebrew .Здесь есть рекомендация .
Вы можете добавить некоторые файлы в:
$(brew --prefix)/etc/openssl/certs