Estoy en: OSX 10.11.6, Homebrew versión 0.9.9m OpenSSL 0.9.8zg 14 de julio de 2015
Estoy tratando de jugar con dotnetcore y siguiendo sus instrucciones ,
He actualizado / instalado la última versión de 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
Pero cuando intento vincular openssl, sigo encontrando este error de vinculación:
> 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
La opción de incluir indicadores del compilador no tiene sentido para mí, ya que no estoy compilando estas bibliotecas de las que soy dependiente.
EDITAR dotnetcore ha actualizado sus instrucciones:
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
primero?brew update
ybrew install openssl
. Esto está tratando de instalar la versión compatible.Respuestas:
Como sugiere la actualización de la otra respuesta, la solución alternativa para instalar el viejo brew openssl101 ya no funcionará. Para una solución temporal en este momento, vea este comentario en dotnet / cli # 3964 .
La parte más relevante del problema copiado aquí:
También es importante que parezca que Microsoft está al tanto del problema y tiene tanto a) un plan un tanto inmediato para mitigar como b) una solución a largo plazo (probaby agrupando OpenSSL con dotnet).
Otra cosa a tener en cuenta:
/usr/local/opt/openssl/lib
es donde la cerveza está vinculada por defecto:Si por alguna razón instala el brew y lo vincula en una ubicación diferente, entonces esa ruta es la que debe usar como rpath.
Una vez que haya actualizado el rpath de System.Security.Cryptography.Native.dylib libray, deberá reiniciar su sesión interactiva (es decir, cerrar la consola e iniciar otra).
fuente
/usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.Security.Cryptography.Native.dylib (No such file or directory)
.dotnet
herramientas. Es posible que no lo tenga instalado o que lo haya instalado o en otra ubicación. Si está instalado y de su parte, puede usarlowhich dotnet
para encontrarlo.dotnet
. Volveré a intentarlo y volveré.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
Esto es lo que funcionó para mí:
Gracias a @dorlandode en este hilo https://github.com/Homebrew/brew/pull/597
NB: solo usé esto como una solución temporal hasta que pude pasar tiempo instalando correctamente Openssl nuevamente desde cero. Como recuerdo, pasé la mayor parte del día depurando y teniendo problemas antes de darme cuenta de que la mejor manera era instalar manualmente los certificados que necesitaba uno por uno. Lea el enlace en el comentario de @ bouke antes de intentar esto.
fuente
/usr/local/bin/openssl
?1.0.2j
a1.0.2k
causa de las diferencias de versión. Para que los usuarios tengan cuidado, es posible que deba ajustar las rutas para la versión actualln -s -f /usr/local/Cellar/openssl/1.0.2k/bin/openssl /usr/local/bin/openssl
arreglaNinguna de estas soluciones me funcionó en OS X El Capitan 10.11.6. Probablemente porque OS X tiene una versión nativa de openssl que cree que es superior y, como tal, no le gusta la manipulación.
Entonces, tomé el camino alto y comencé de nuevo ...
Instalar manualmente y enlace simbólico
Si obtiene "No existe tal archivo o directorio", hágalo:
cd /usr/local && mkdir src && cd src
Descargar openssl:
Extracto y cd en:
Compilar e instalar:
Ahora enlace simbólico OS X's openssl a su openssl nuevo y actualizado:
Cierre la terminal, abra una nueva sesión y verifique que OS X esté utilizando su nuevo openssl:
fuente
ln -s /usr/local/openssl-1.0.2h/bin/openssl /usr/local/bin/openssl
. Después de reiniciar su sesión de Terminal, escribawhich openssl
para asegurarse de que está utilizando la versión actualizada 1.0.2 (/usr/local/bin/openssl
) en lugar de la versión incorporada (/usr/bin/openssl
).Simplemente ejecute
brew info openssl
y lea la información donde dice:fuente
brew info openssl
me dio la misma información útil. Ejecutar el comando sugerido arriba y luego ejecutarsource ~/.bash_profile
o abrir un nuevo terminal lo resolvió para mí.echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc
Si migrar tu Mac rompe homebrew:
Migré mi Mac y desvinculó todas mis instalaciones de homebrew, incluido OpenSSL. Esto se rompió
gem install
, y así es como noté el problema por primera vez y comencé a intentar repararlo.Después de un millón de soluciones (al migrar a OSX Sierra - 10.12.5), la solución terminó siendo cómicamente simple:
fuente
rm -rf /usr/local/opt/openssl
Después de probar todo lo que pude encontrar y nada funcionó, simplemente intenté esto:
Dentro del archivo agregado esta línea.
ahora funciona :)
fuente
which openssl
todavía apunta a/usr/bin/openssl
export PATH=/usr/local/bin:$PATH
/usr/local/opt/openssl/bin
, sin el/openssl
final, al frente de la RUTA, no el final:PATH=/usr/local/opt/openssl/bin:$PATH
Al usar en/usr/local/opt/openssl
lugar de/usr/local/Cellar/openssl/$version
medios, automáticamente mantendrá la versión más actualizada en su $ PATH sin tener para cambiarlo cada vez que actualice.Tengo un caso similar Necesito instalar openssl a través de brew y luego usar pip para instalar mitmproxy. Recibo la misma queja de
brew link --force
. La siguiente es la solución a la que llegué: (sin forzar el enlace por brew)Esto no aborda la pregunta directamente. Dejo el one-liner en caso de que alguien use pip y requiera el openssl lib.
Nota: las
/usr/local/opt/openssl/lib
rutas se obtienen porbrew info openssl
fuente
cryptography
. Me faltaba laPKG_CONFIG_PATH
variableEsto funcionó para mí:
fuente
La solución anterior de edwardthesecond también funcionó para mí en Sierra
Otros pasos que hice antes fueron:
instalación de openssl a través de brew
agregando openssl a la ruta como lo sugiere homebrew
fuente
Por defecto, homebrew me dio la versión 1.1 de OpenSSL y estaba buscando la versión 1.0. Esto funcionó para mí.
Para instalar la versión 1.0:
Luego traté de hacer un enlace simbólico, pero me dio el siguiente error:
Finalmente vinculado openssl para apuntar a la versión 1.0 usando el comando brew switch:
fuente
Nota: esto ya no funciona debido a https://github.com/Homebrew/brew/pull/612
Tuve el mismo problema hoy. Desinstalé (desbloqueado ??) openssl 1.0.2 e instalé 1.0.1 también con homebrew. Dotnet new / restore / run luego funcionó bien.
Instalar openssl 101:
brew install homebrew / versiones / openssl101
Vinculación:
brew link --force homebrew / versiones / openssl101
fuente
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
Tuve el mismo problema al intentar instalar la versión más nueva de ruby 2.6.5 https://github.com/kelaberetiv/TagUI/issues/86 me ayuda a resolver el problema. Esto si para macOS catalina Versión 10.15.1
Básicamente, hice
update and upgrade
homebrew e instalé openssl e instalé ruby.Luego crea estos 2 enlaces simbólicos
luego instaló ruby 2.6.5
fuente
para mí esto es lo que funcionó ...
Edité el ./bash_profile y agregué el siguiente comando
export PATH = "/ usr / local / opt / openssl / bin: $ PATH"
fuente
funciona para mi
y creo que puede resolver todos los problemas como
Failed to connect to raw.githubusercontent.com port 443: Connection refused
fuente