De nieuwste versie van openssl Mac OS X El Capitan installeren

Ik heb brew install opensslgebruikt om openssl v1.0.2f te downloaden en te installeren, maar het komt terug met de melding:

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

En als ik openssl version -adoe, krijg ik altijd:

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"

Hoe kan ik de oude versie door de nieuwe vervangen? Ik heb veel gezocht over hoe dit te doen, maar de online oplossingen lijken niet te werken voor mij…


Antwoord 1, autoriteit 100%

Voer de volgende opdrachten uit:

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

Je hebt de nieuwste versie van openssl geïnstalleerd en toegankelijk vanaf cli (opdrachtregel/terminal). Aangezien de derde opdracht een exportpad toevoegt aan .bash_profile, is de nieuw geïnstalleerde versie van openssl toegankelijk wanneer het systeem opnieuw wordt opgestart.


Antwoord 2, autoriteit 55%

Alleen

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

heeft voor mij gewerkt!
Bedankt mipadi.


Antwoord 3, autoriteit 15%

Probeer een symbolische link te maken, zorg ervoor dat je eerst openssl hebt geïnstalleerd in /usr/local/include.

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

Meer info op Openssl met El Capitan.


Antwoord 4, autoriteit 13%

Ik kan uw probleem met El Cap + Homebrew 1.0.x niet reproduceren

Upgrade naar Homebrew 1.0.x, dat eind september werd uitgebracht. Er zijn specifieke wijzigingen aangebracht in de manier waarop openssl is gekoppeld. Het project heeft een robuuster releaseschema nu het de 1.0 bereikt.

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

U moet eventuele problemen oplossen die door brew doctorzijn gemeld voordat u verder gaat.

brew install openssl

Opmerking:Als u homebrew upgradet, worden al uw geïnstalleerde pakketten bijgewerkt naar de nieuwste versies.


Antwoord 5, autoriteit 6%

Ik kwam op deze pagina toen ik zocht naar informatie over het feit dat openssl alleen een keg is. Ik geloof dat ik de reden heb begrepen waarom Homebrew deze actie nu onderneemt. Mijn oplossing kan voor u werken:

  • Gebruik het volgende commando om het nieuwe openssl-commando beschikbaar te maken (ervan uitgaande dat je PATH hebt aangepast om /usr/local/bin voor /usr/bin te plaatsen):

    ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/

  • Volg bij het compileren met openssl het advies en gebruik van Homebrew

    -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

  • U kunt deze instellingen ook permanent maken door de volgende regels in uw .bash_profile of .bashrc te plaatsen:

    export CPATH=/usr/local/opt/openssl/include
    export LIBRARY_PATH=/usr/local/opt/openssl/lib


Antwoord 6, autoriteit 4%

deze opdracht lost mijn probleem op github CI-taak en virtualbox op

brew install [email protected]
cp /usr/local/opt/[email protected]/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/

Antwoord 7, autoriteit 2%

Dit is een oude vraag, maar beantwoordt deze nog steeds in de huidige context, aangezien veel van de bovenstaande antwoorden nu misschien niet werken.

Het probleem is dat het pad nog steeds naar de oude versie verwijst. Er kunnen twee oplossingen worden geboden voor de oplossing:

  1. Verwijder de oude versie van het openssl-pakket brew uninstall opensslen installeer de nieuwe versie opnieuw: brew install openssl
  2. verwijs het PATH naar de nieuwe versie van openssl. Installeer eerst de nieuwe versie en nu (of als) je de nieuwste versie hebt geïnstalleerd, wijs het pad ernaar toe: echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile

8

Om de oude versie te vervangen door de nieuwe, moet u de link voor het wijzigen. Typ die opdracht naar Terminal.

brew link --force openssl

Controleer de versie van OpenSSL opnieuw. Het moet worden gewijzigd.

Other episodes