Подтвердить что ты не робот

Как установить последнюю версию opensl Mac OS X El Capitan

Я использовал brew install openssl для загрузки и установки openssl v1.0.2f, однако он возвращается, говоря:

A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl/certs

and run
  /usr/local/opt/openssl/bin/c_rehash

This formula is keg-only, which means it was not symlinked into /usr/local.

Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include

И когда я делаю openssl version -a, он всегда дает мне:

OpenSSL 0.9.8zg 14 July 2015
built on: Jul 31 2015
platform: darwin64-x86_64-llvm
options:  bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) blowfish(idx) 
compiler: -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DMD32_REG_T=int -DOPENSSL_NO_IDEA -DOPENSSL_PIC -DOPENSSL_THREADS -DZLIB -mmacosx-version-min=10.6
OPENSSLDIR: "/System/Library/OpenSSL"

Как заменить старую версию на новую? Я много искал, как это сделать, но решения в Интернете, похоже, не работают для меня...

4b9b3361

Ответ 1

только

export PATH=$(brew --prefix openssl)/bin:$PATH in ~/.bash_profile

работал у меня! Спасибо, мипади.

Ответ 2

Выполните следующие команды:

brew update
brew install openssl
echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile

У вас будет установлена последняя версия openssl, доступная из cli (командная строка/терминал). Поскольку третья команда добавит путь экспорта в .bash_profile, только что установленная версия openssl будет доступна после перезапуска системы.

Ответ 3

Попробуйте создать символическую ссылку, сначала убедитесь, что у вас установлен openssl в /usr/local/include.

ln -s /usr/local/Cellar/openssl/{version}/include/openssl /usr/local/include/openssl

Больше информации на Openssl с El Capitan.

Ответ 4

Я достиг этой страницы, когда искал информацию о том, что openssl является кег-только. По-моему, я понял причину, почему Homebrew предпринимает это действие сейчас. Мое решение может работать для вас:

  • Используйте следующую команду, чтобы сделать новую команду openssl доступной (если вы скорректировали PATH для установки /usr/local/bin до/usr/bin): ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/

  • При компиляции с помощью openssl следуйте советам Homebrew и используйте -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

  • Кроме того, вы можете сделать эти настройки постоянными, поместив следующие строки в ваш .bash_profile или .bashrc: export CPATH=/usr/local/opt/openssl/include export LIBRARY_PATH=/usr/local/opt/openssl/lib

Ответ 5

Я не могу воспроизвести вашу проблему с помощью El Cap + Homebrew 1.0.x

Обновление до Homebrew 1.0.x, выпущенного в конце сентября. Конкретные изменения были сделаны в том, как открывается openssl. Теперь проект находится на более надежном графике выпуска, когда он достиг 1.0.

brew uninstall openssl
brew update && brew upgrade && brew cleanup && brew doctor

Прежде чем продолжить, вы должны исправить любые проблемы, поднятые brew doctor.

brew install openssl

Примечание. Обновление homebrew обновит все установленные вами пакеты до последних версий.

Ответ 6

Чтобы заменить старую версию новой, вам нужно изменить ссылку для нее. Введите эту команду в терминал.

brew link --force openssl

Еще раз проверьте версию openssl. Он должен быть изменен.

Ответ 7

Вы можете запустить brew link openssl, чтобы связать его с /usr/local, если вы не возражаете против потенциальной проблемы, выделенной в предупреждающем сообщении. В противном случае вы можете добавить каталог bin openssl в свой путь:

export PATH=$(brew --prefix openssl)/bin:$PATH