Обновление OpenSSL на OS X с помощью Homebrew

Я использую MacOS X 10.7.5, и мне нужна более новая версия OpenSSL из-за сбоев установления связи. В Интернете есть несколько учебников, и я попробовал следующее:

brew install openssl
brew link openssl --force

Тем не менее, это не работает:

openssl version
OpenSSL 0.9.8r 8 Feb 2011

brew unlink openssl && brew link openssl --force
Unlinking /usr/local/Cellar/openssl/1.0.1e... 1139 links removed
Linking /usr/local/Cellar/openssl/1.0.1e... 1139 symlinks created

Проблема SVN также не устранена. Есть идеи? Я бы предпочел не попробовать MacPorts, потому что это может помешать Homebrew.

Ответ 1

Если вы используете Homebrew/usr/local/bin, он должен быть уже впереди $PATH или, по крайней мере, до /usr/bin. Если теперь вы запустите brew link --force openssl в окне терминала, откройте новый и запустите which openssl. Теперь он должен показывать openssl в/usr/local/bin.

Ответ 2

В терминале запустите:

export PATH=/usr/local/bin:$PATH
brew link --force openssl

Возможно, вам придется отключить openssl сначала, если вы получите предупреждение: brew unlink openssl

Это гарантирует, что мы связуем правильный openssl для этой ситуации. (и не возиться с .profile)

Совет шлям для ответа @Olaf и комментарий @Felipe. У некоторых людей, таких как я, возможно, есть некоторые довольно запутанные PATH-вары.

Ответ 3

установлен openssl на mac с brew, но ничего не найдено на /usr/local/bin, где находятся другие установленные контейнеры brew. Найденный мой новый openssl здесь:

/usr/local/opt/openssl/bin/openssl

Запустите его следующим образом:

/usr/local/opt/openssl/bin/openssl version

Я не хочу обновлять OS X openssl, в то время как некоторые вещи для ОС или другие сторонние приложения могут иметь зависимость от старой версии.

Я также не против более длинного пути, чем просто openssl

Написание этого здесь для всех Googlers, которые ищут местоположение openssl, установленного brew.

Ответ 4

Чтобы ответить на вопрос об обновлении openssl, я выполнил следующие шаги, чтобы успешно обновить версию, найденную на моем Mac, до самой новой версии 1.0.1e для opensl.

Я выполнил следующие шаги: http://foodpicky.com/?p=99

Когда вы достигнете шагов для команд терминала make и сделать установку, обязательно используйте sudo make и sudo make install (мне пришлось пройти шаг за шагом дважды, потому что я сделал это без sudo, и он не обновлялся).

Надеюсь, что это поможет

Ответ 5

У меня возникла эта проблема и я обнаружил, что установка нового openssl действительно работала, но мой PATH был установлен неправильно для нее - у моего $PATH был путь к портам, расположенный перед моим brew, так что он всегда находил более старую версию openssl.

Исправление для меня состояло в том, чтобы поместить путь к brew (/usr/local/bin) в начале моей $PATH.

Чтобы узнать, где вы загружаете openssl from, запустите which openssl и обратите внимание на результат. Это будет расположение версии, используемой вашей системой при запуске openssl. Это будет где-то иначе, чем путь brew для "/usr/local/bin". Измените $PATH, закройте эту вкладку терминала и откройте новую и запустите which openssl. Теперь вы должны увидеть другой путь, возможно, в /usr/local/bin. Теперь запустите openssl version, и вы увидите новую версию, которую вы установили "OpenSSL 1.0.1e 11 февраля 2013".

Ответ 6

У меня возникли проблемы с установкой некоторых плагинов Wordpress на моем локальном сервере под управлением php56 на OSX10.11. Они не смогли подключиться к внешнему API через SSL.

Установка openSSL не решила мою проблему. Но потом я понял, что CURL также необходимо переустановить.

Это решило мою проблему с помощью Homebrew.

brew rm curl && brew install curl --with-openssl

brew uninstall php56 && brew install php56 --with-homebrew-curl --with-openssl

Ответ 7

  • установить порт: https://guide.macports.org/
  • установить или обновить пакет openssl: sudo port install openssl или sudo port upgrade openssl
  • чтобы он выполнил openssl version, чтобы увидеть результат.