Ich bin auf: OSX 10.11.6, Homebrew Version 0.9.9m OpenSSL 0.9.8zg 14. Juli 2015
Ich versuche mit Dotnetcore zu spielen und indem ich deren Anweisungen folge ,
Ich habe die neueste Version von openssl aktualisiert / installiert:
> brew install openssl
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2h_1.el_capitan.bottle.tar.gz
Already downloaded: /Users/administrator/Library/Caches/Homebrew/openssl-1.0.2h_1.el_capitan.bottle.tar.gz
==> Pouring openssl-1.0.2h_1.el_capitan.bottle.tar.gz
==> Caveats
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
Aber wenn ich versuche, openssl zu verlinken, stoße ich weiterhin auf diesen Verknüpfungsfehler:
> brew link --force openssl
Warning: Refusing to link: openssl
Linking keg-only OpenSSL means you may end up linking against the insecure,
deprecated system version while using the headers from the Homebrew version.
Instead, pass the full include/library paths to your compiler e.g.:
-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
Die Option, Compiler-Flags einzuschließen, macht für mich keinen Sinn, da ich diese Bibliotheken, von denen ich abhängig bin, nicht kompiliere.
EDIT dotnetcore hat seine Anweisungen aktualisiert:
brew update
brew install openssl
ln -s /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/
ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/lib/
brew upgrade openssl
zuerst tun ?brew update
und schon gemachtbrew install openssl
. Hiermit wird versucht, die unterstützte Version zu installieren.Antworten:
Wie aus der Aktualisierung der anderen Antwort hervorgeht, funktioniert die Problemumgehung bei der Installation des alten openssl101-Biers nicht mehr. Eine aktuelle Problemumgehung finden Sie in diesem Kommentar zu dotnet / cli # 3964 .
Der relevanteste Teil des hier kopierten Problems:
Wichtig ist auch, dass Microsoft sich des Problems bewusst ist und sowohl a) einen etwas unmittelbaren Plan zur Minderung als auch b) eine langfristige Lösung hat (wahrscheinlich OpenSSL mit Dotnet bündeln).
Eine andere Sache zu beachten:
/usr/local/opt/openssl/lib
ist, wo das Gebräu standardmäßig verknüpft ist:Wenn Sie aus irgendeinem Grund das Gebräu installieren und an einem anderen Ort verknüpfen, sollten Sie diesen Pfad als Pfad verwenden.
Sobald Sie den Pfad der System.Security.Cryptography.Native.dylib-Bibliothek aktualisiert haben, müssen Sie Ihre interaktive Sitzung neu starten (dh Ihre Konsole schließen und eine andere starten).
quelle
/usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.Security.Cryptography.Native.dylib (No such file or directory)
.dotnet
Werkzeugs. Es ist möglich, dass Sie es entweder nicht installiert haben oder installiert haben oder an einem anderen Ort. Wenn es installiert ist und von Ihrer Seite, können Sie es verwendenwhich dotnet
, um es zu finden.dotnet
. Ich werde es erneut versuchen und zurückkommen.sudo install_name_tool -add_rpath /usr/local/opt/openssl/lib /usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.1.0/System.Security.Cryptography.Native.OpenSsl.dylib
Das hat bei mir funktioniert:
Vielen Dank an @dorlandode in diesem Thread https://github.com/Homebrew/brew/pull/597
NB: Ich habe dies nur als vorübergehende Korrektur verwendet, bis ich Zeit damit verbringen konnte, Openssl von Grund auf neu zu installieren. Wie ich mich erinnere, verbrachte ich den größten Teil eines Tages mit Debuggen und Problemen, bevor mir klar wurde, dass der beste Weg darin bestand, die benötigten Zertifikate einzeln manuell zu installieren. Bitte lesen Sie den Link in @ boukes Kommentar, bevor Sie dies versuchen.
quelle
/usr/local/bin/openssl
?1.0.2j
um1.0.2k
wegen der Versionsunterschiede. Benutzer sollten also aufpassen, dass Sie möglicherweise die Pfade für die aktuelle Version anpassen müssenln -s -f /usr/local/Cellar/openssl/1.0.2k/bin/openssl /usr/local/bin/openssl
behebt esKeine dieser Lösungen funktionierte für mich unter OS X El Capitan 10.11.6. Wahrscheinlich, weil OS X eine native Version von openssl hat, die es für überlegen hält und als solche keine Manipulationen mag.
Also nahm ich die Landstraße und fing neu an ...
Manuell installieren und symlink
Wenn Sie "Keine solche Datei oder kein solches Verzeichnis" erhalten, machen Sie es:
cd /usr/local && mkdir src && cd src
Download openssl:
Auszug und CD in:
Kompilieren und installieren:
Jetzt verknüpft syms OS X's openssl mit Ihrem neuen und aktualisierten openssl:
Schließen Sie das Terminal, öffnen Sie eine neue Sitzung und stellen Sie sicher, dass OS X Ihr neues openssl verwendet:
quelle
ln -s /usr/local/openssl-1.0.2h/bin/openssl /usr/local/bin/openssl
. Geben Sie nach dem Neustart Ihrer Terminalsitzung ein,which openssl
um sicherzustellen, dass Sie die aktualisierte Version 1.0.2 (/usr/local/bin/openssl
) anstelle der integrierten Version ( ) verwenden/usr/bin/openssl
.Führen Sie einfach
brew info openssl
die Informationen aus und lesen Sie sie dort, wo sie stehen:quelle
brew info openssl
gab die gleichen hilfreichen Informationen für mich. Das Ausführen des oben vorgeschlagenen Befehls und das anschließende Ausführensource ~/.bash_profile
oder Öffnen eines neuen Terminals hat das Problem für mich gelöst.echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc
Wenn die Migration Ihres Mac Homebrew bricht:
Ich habe meinen Mac migriert und alle meine Homebrew-Installationen - einschließlich OpenSSL - getrennt. Dies ist kaputt
gem install
gegangen. So habe ich das Problem zum ersten Mal bemerkt und versucht, es zu reparieren.Nach einer Million Lösungen (bei der Migration auf OSX Sierra - 10.12.5) war die Lösung komisch einfach:
quelle
rm -rf /usr/local/opt/openssl
Nachdem ich alles ausprobiert hatte, was ich finden konnte und nichts funktionierte, versuchte ich Folgendes:
Innerhalb der Datei wurde diese Zeile hinzugefügt.
jetzt gehts :)
quelle
which openssl
immer noch auf/usr/bin/openssl
export PATH=/usr/local/bin:$PATH
/usr/local/opt/openssl/bin
, ohne die/openssl
am Ende mit dem vorderen des PATH, nicht das Ende:PATH=/usr/local/opt/openssl/bin:$PATH
Mit/usr/local/opt/openssl
statt/usr/local/Cellar/openssl/$version
Mittel werden Sie automatisch halten die meisten up-to-date - Version in Ihrem $ PATH ohne um es bei jedem Upgrade zu ändern.Ich habe einen ähnlichen Fall. Ich muss openssl über Brew installieren und dann pip verwenden, um mitmproxy zu installieren. Ich bekomme die gleiche Beschwerde von
brew link --force
. Folgendes ist die Lösung, die ich erreicht habe: (ohne Kraftverbindung durch Gebräu)Dies spricht die Frage nicht direkt an. Ich lasse den Einzeiler für den Fall, dass jemand pip verwendet und die openssl lib benötigt.
Hinweis: Die
/usr/local/opt/openssl/lib
Pfade werden von erhaltenbrew info openssl
quelle
cryptography
. Mir fehlte diePKG_CONFIG_PATH
VariableDas hat bei mir funktioniert:
quelle
Die obige Lösung von edwardthesecond hat auch für mich in Sierra funktioniert
Andere Schritte, die ich zuvor gemacht habe, waren:
Installation von openssl über Brew
Hinzufügen von openssl zum Pfad, wie von Homebrew vorgeschlagen
quelle
Hinweis: Dies funktioniert aufgrund von https://github.com/Homebrew/brew/pull/612 nicht mehr
Ich hatte heute das gleiche Problem. Ich habe deinstalliert (ungebraut ??) openssl 1.0.2 und 1.0.1 auch mit homebrew installiert. Dotnet new / restore / run funktionierte dann einwandfrei.
Installiere openssl 101:
Brew installiere Homebrew / Versionen / openssl101
Verknüpfung:
Brew Link - Force Homebrew / Versionen / openssl101
quelle
Refusing to link: openssl101 Linking keg-only openssl101 means you may end up linking against the insecure, deprecated system OpenSSL while using the headers from Homebrew's openssl101. Instead, pass the full include/library paths to your compiler e.g.: -I/usr/local/opt/openssl101/include -L/usr/local/opt/openssl101/lib
Ich hatte das gleiche Problem beim Versuch, eine neuere Version von Ruby 2.6.5 zu installieren. Https://github.com/kelaberetiv/TagUI/issues/86 hilft mir, das Problem zu lösen. Dies gilt für macOS Catalina Version 10.15.1
Grundsätzlich habe ich
update and upgrade
Homebrew gemacht und openssl installiert und Ruby installiert.Dann erstellen Sie diese 2 Symlinks
dann installiert Ruby 2.6.5
quelle
Standardmäßig gab mir Homebrew OpenSSL Version 1.1 und ich suchte stattdessen nach Version 1.0. Das hat bei mir funktioniert.
So installieren Sie Version 1.0:
Dann habe ich versucht, mich durch das Bild zu verbinden, aber es gab mir den folgenden Fehler:
Schließlich verknüpft openssl, um mit dem Befehl Brew Switch auf die Version 1.0 zu verweisen:
quelle
Für mich hat das funktioniert ...
Ich habe das ./bash_profile bearbeitet und den folgenden Befehl hinzugefügt
export PATH = "/ usr / local / opt / openssl / bin: $ PATH"
quelle
funktioniert bei mir
und ich denke, es kann alle Probleme wie lösen
Failed to connect to raw.githubusercontent.com port 443: Connection refused
quelle