Je suis sur: OSX 10.11.6, Homebrew version 0.9.9m OpenSSL 0.9.8zg 14 juillet 2015
J'essaye de jouer avec dotnetcore et en suivant leurs instructions ,
J'ai mis à jour / installé la dernière version d'openssl:
> 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
Mais lorsque j'essaie de lier openssl, je continue à rencontrer cette erreur de liaison:
> 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
L'option d'inclure des indicateurs de compilateur n'a pas de sens pour moi, car je ne compile pas ces bibliothèques dont je suis dépendant.
EDIT dotnetcore a mis à jour ses instructions:
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
abord le faire?brew update
etbrew install openssl
. Ceci tente d'installer la version prise en charge.Réponses:
Comme le suggère la mise à jour de l'autre réponse, la solution de contournement de l'installation de l'ancien brew openssl101 ne fonctionnera plus. Pour une solution de contournement immédiate, consultez ce commentaire sur dotnet / cli # 3964 .
La partie la plus pertinente du problème copiée ici:
De plus, il semble que Microsoft soit conscient du problème et ait à la fois a) un plan quelque peu immédiat pour atténuer ainsi que b) une solution à long terme (probaby regroupant OpenSSL avec dotnet).
Une autre chose à noter:
/usr/local/opt/openssl/lib
c'est là que l'infusion est liée par défaut:Si pour une raison quelconque vous installez le brew et le liez dans un emplacement différent, alors ce chemin est celui que vous devez utiliser comme rpath.
Une fois que vous avez mis à jour le rpath de la bibliothèque System.Security.Cryptography.Native.dylib, vous devrez redémarrer votre session interactive (c'est-à-dire fermer votre console et en démarrer une autre).
la source
/usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.Security.Cryptography.Native.dylib (No such file or directory)
.dotnet
outillage. Il est possible que vous ne l'ayez pas installé ou que vous l'ayez installé ou à un autre emplacement. S'il est installé et de votre part, vous pouvez l'utiliserwhich dotnet
pour le trouver.dotnet
. Je vais réessayer et revenir.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
C'est ce qui a fonctionné pour moi:
Merci à @dorlandode sur ce fil https://github.com/Homebrew/brew/pull/597
NB: Je n'ai utilisé cela que comme solution temporaire jusqu'à ce que je puisse passer du temps à réinstaller correctement Openssl à partir de zéro. Si je me souviens bien, j'ai passé la meilleure partie de la journée à déboguer et à avoir des problèmes avant de réaliser que le meilleur moyen était d'installer manuellement les certificats dont j'avais besoin un par un. Veuillez lire le lien dans le commentaire de @ bouke avant d'essayer.
la source
/usr/local/bin/openssl
?1.0.2j
en1.0.2k
raison des différences de version. Alors les utilisateurs, méfiez-vous, vous devrez peut-être ajuster les chemins pour la version actuelleln -s -f /usr/local/Cellar/openssl/1.0.2k/bin/openssl /usr/local/bin/openssl
ça résout le problèmeAucune de ces solutions n'a fonctionné pour moi sur OS X El Capitan 10.11.6. Probablement parce qu'OS X a une version native de openssl qu'il croit supérieure et, en tant que telle, n'aime pas la falsification.
Alors, j'ai pris la grande route et j'ai recommencé à zéro ...
Installer manuellement et lien symbolique
Si vous obtenez "No such file or directory", faites-le:
cd /usr/local && mkdir src && cd src
Téléchargez openssl:
Extrait et cd dans:
Compilez et installez:
Maintenant, créez un lien symbolique entre le fichier openssl d'OS X et votre opensl nouveau et mis à jour:
Fermez le terminal, ouvrez une nouvelle session et vérifiez qu'OS X utilise votre nouveau openssl:
la source
ln -s /usr/local/openssl-1.0.2h/bin/openssl /usr/local/bin/openssl
. Après avoir redémarré votre session Terminal, tapezwhich openssl
pour vous assurer que vous utilisez la version 1.0.2 mise à jour (/usr/local/bin/openssl
) au lieu de celle intégrée (/usr/bin/openssl
).Exécutez
brew info openssl
et lisez simplement les informations là où il est dit:la source
brew info openssl
a donné les mêmes informations utiles pour moi. L'exécution de la commande suggérée ci-dessus, puis l'exécutionsource ~/.bash_profile
ou l'ouverture d'un nouveau terminal l'ont résolu pour moi.echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc
Si la migration de votre Mac casse l'homebrew:
J'ai migré mon mac et il a dissocié toutes mes installations homebrew, y compris OpenSSL. Cela s'est cassé
gem install
, c'est ainsi que j'ai remarqué le problème pour la première fois et j'ai commencé à essayer de le réparer.Après un million de solutions (lors de la migration vers OSX Sierra - 10.12.5), la solution a fini par être comiquement simple:
la source
rm -rf /usr/local/opt/openssl
Après avoir essayé tout ce que j'ai pu trouver et rien n'a fonctionné, j'ai juste essayé ceci:
À l'intérieur du fichier ajouté cette ligne.
maintenant ça marche :)
la source
which openssl
pointe toujours vers/usr/bin/openssl
export PATH=/usr/local/bin:$PATH
/usr/local/opt/openssl/bin
, sans le/openssl
sur la fin, à l' avant du chemin, pas la fin:PATH=/usr/local/opt/openssl/bin:$PATH
Utiliser au/usr/local/opt/openssl
lieu de/usr/local/Cellar/openssl/$version
moyens vous garderez automatiquement la version la plus à jour dans votre PATH $ sans avoir pour le changer à chaque mise à niveau.J'ai un cas similaire. Je dois installer openssl via brew, puis utiliser pip pour installer mitmproxy. Je reçois la même plainte de
brew link --force
. Voici la solution que j'ai atteinte: (sans liaison forcée par infusion)Cela ne répond pas directement à la question. Je laisse le one-liner au cas où quelqu'un utiliserait pip et aurait besoin de la bibliothèque openssl.
Remarque: les
/usr/local/opt/openssl/lib
chemins sont obtenus parbrew info openssl
la source
cryptography
. Il me manquait laPKG_CONFIG_PATH
variableCela a fonctionné pour moi:
la source
La solution ci-dessus d'edwardthesecond a fonctionné pour moi aussi sur Sierra
Les autres étapes que j'ai faites auparavant étaient:
installation de openssl via brew
ajouter openssl au chemin comme suggéré par homebrew
la source
Par défaut, homebrew m'a donné la version 1.1 d'OpenSSL et je cherchais plutôt la version 1.0. Cela a fonctionné pour moi.
Pour installer la version 1.0:
Ensuite, j'ai essayé de créer un lien symbolique pour le parcourir, mais cela m'a donné l'erreur suivante:
Enfin lié openssl pour pointer vers la version 1.0 à l'aide de la commande brew switch:
la source
Remarque: cela ne fonctionne plus en raison de https://github.com/Homebrew/brew/pull/612
J'ai eu le même problème aujourd'hui. J'ai désinstallé (unbrewed ??) openssl 1.0.2 et installé 1.0.1 également avec homebrew. Dotnet new / restore / run a ensuite bien fonctionné.
Installer openssl 101:
brew install homebrew / versions / openssl101
Liaison:
lien brew --force homebrew / versions / openssl101
la source
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
J'ai eu le même problème en essayant d'installer une version plus récente de ruby 2.6.5 https://github.com/kelaberetiv/TagUI/issues/86 m'aide à résoudre le problème. Ceci si pour macOS Catalina Version 10.15.1
En gros, j'ai fait de l'
update and upgrade
homebrew , j'ai installé openssl et j'ai installé ruby.Créez ensuite ces 2 liens symboliques
puis installé ruby 2.6.5
la source
pour moi, c'est ce qui a fonctionné ...
J'ai édité le ./bash_profile et ajouté la commande ci-dessous
export PATH = "/ usr / local / opt / openssl / bin: $ PATH"
la source
travaille pour moi
et je pense que cela peut résoudre tous les problèmes comme
Failed to connect to raw.githubusercontent.com port 443: Connection refused
la source