Estou no: OSX 10.11.6, Homebrew versão 0.9.9m OpenSSL 0.9.8zg 14 de julho de 2015
Estou tentando brincar com o dotnetcore e seguindo os instruções ,
Atualizei / instalei a versão mais recente do 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
Mas quando tento vincular o openssl, continuo com esse erro de vinculação:
> 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
A opção de incluir sinalizadores de compilador não faz sentido para mim, pois não estou compilando essas bibliotecas das quais dependo.
EDIT dotnetcore atualizou suas instruções:
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
primeiro?brew update
ebrew install openssl
. Isso está tentando instalar a versão suportada.Respostas:
Como sugere a atualização para a outra resposta, a solução alternativa para instalar o antigo openssl101 brew não funcionará mais. Para uma solução alternativa agora, consulte este comentário no dotnet / cli # 3964 .
A parte mais relevante do problema foi copiada aqui:
Também importante, parece que a Microsoft está ciente do problema e possui a) um plano um tanto imediato para mitigar, bem como b) uma solução de longo prazo (probaby agrupando OpenSSL com dotnet).
Outra coisa a ser observada:
/usr/local/opt/openssl/lib
é onde o brew está vinculado por padrão:Se, por qualquer motivo, você instalar o brew e vinculá-lo em um local diferente, esse caminho será o caminho que você deverá usar como rpath.
Depois de atualizar o rpath da biblioteca System.Security.Cryptography.Native.dylib, você precisará reiniciar sua sessão interativa (por exemplo, feche o console e inicie outro).
fonte
/usr/local/share/dotnet/shared/Microsoft.NETCore.App/1.0.0/System.Security.Cryptography.Native.dylib (No such file or directory)
.dotnet
ferramentas. É possível que você não o tenha instalado ou instalado ou em outro local. Se estiver instalado e da sua parte, você poderáwhich dotnet
encontrá-lo.dotnet
. Irá tentar novamente e voltar.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
Isto é o que funcionou para mim:
Obrigado a @dorlandode neste tópico https://github.com/Homebrew/brew/pull/597
Nota: usei isso apenas como uma correção temporária até poder gastar o tempo corretamente instalando o Openssl novamente do zero. Lembro-me de que passei a maior parte do dia depurando e tendo problemas antes de perceber que a melhor maneira era instalar manualmente os certificados necessários, um por um. Leia o link no comentário de @ bouke antes de tentar isso.
fonte
/usr/local/bin/openssl
?1.0.2j
para1.0.2k
devido a diferenças de versão. Assim, os usuários cuidado, você pode precisar de ajustar os locais para a versão atualln -s -f /usr/local/Cellar/openssl/1.0.2k/bin/openssl /usr/local/bin/openssl
correções que eleNenhuma dessas soluções funcionou para mim no OS X El Capitan 10.11.6. Provavelmente porque o OS X tem uma versão nativa do openssl que acredita ser superior e, como tal, não gosta de adulteração.
Então, eu peguei a estrada e comecei de novo ...
Instalar manualmente e link simbólico
Se você estiver recebendo "Nenhum arquivo ou diretório", escolha:
cd /usr/local && mkdir src && cd src
Faça o download do openssl:
Extrato e cd em:
Compile e instale:
Agora faça o link simbólico do openssl do OS X para o seu openssl novo e atualizado:
Feche o terminal, abra uma nova sessão e verifique se o OS X está usando seu novo openssl:
fonte
ln -s /usr/local/openssl-1.0.2h/bin/openssl /usr/local/bin/openssl
. Após reiniciar a sessão do Terminal, digitewhich openssl
para certificar-se de que você está usando a versão 1.0.2 atualizada (/usr/local/bin/openssl
) em vez da interna (/usr/bin/openssl
).Basta executar
brew info openssl
e ler as informações onde diz:fonte
brew info openssl
deu a mesma informação útil para mim. A execução do comando sugerido acima e a execuçãosource ~/.bash_profile
ou abertura de um novo terminal o resolveram para mim.echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.zshrc
Se a migração do seu Mac quebrar o homebrew:
Migrei meu mac e ele desvinculou todas as minhas instalações de homebrew - incluindo o OpenSSL. Isso quebrou
gem install
, e foi assim que notei o problema e comecei a tentar consertar isso.Após um milhão de soluções (ao migrar para o OSX Sierra - 10.12.5), a solução acabou sendo comicamente simples:
fonte
rm -rf /usr/local/opt/openssl
Depois de tentar tudo o que pude encontrar e nada funcionou, tentei o seguinte:
Dentro do arquivo adicionado esta linha.
agora funciona :)
fonte
which openssl
ainda aponta para/usr/bin/openssl
export PATH=/usr/local/bin:$PATH
/usr/local/opt/openssl/bin
, sem o/openssl
final, à frente do PATH, e não o fim:PATH=/usr/local/opt/openssl/bin:$PATH
usar em/usr/local/opt/openssl
vez de/usr/local/Cellar/openssl/$version
significa que você manterá automaticamente a versão mais atualizada do seu $ PATH sem ter para alterá-lo toda vez que você atualizar.Eu tenho um caso semelhante. Preciso instalar o openssl via brew e usar o pip para instalar o mitmproxy. Recebo a mesma reclamação
brew link --force
. A seguir, a solução que cheguei: (sem ligação de força por infusão)Isso não aborda a questão diretamente. Deixo o one-liner no caso de alguém usar pip e exigir a lib openssl.
Nota: os
/usr/local/opt/openssl/lib
caminhos são obtidos porbrew info openssl
fonte
cryptography
. Eu estava com aPKG_CONFIG_PATH
variável ausente #Isso funcionou para mim:
fonte
A solução acima de edwardthesecond também funcionou para mim na Sierra
Outras etapas que eu fiz antes foram:
instalando o openssl via brew
adicionando openssl ao caminho, conforme sugerido pelo homebrew
fonte
Nota: isso não funciona mais devido a https://github.com/Homebrew/brew/pull/612
Eu tive o mesmo problema hoje. Eu desinstalei (desaparafusou ??) o openssl 1.0.2 e instalei o 1.0.1 também com o homebrew. Dotnet new / restore / run funcionou bem.
Instalar openssl 101:
brew install homebrew / versões / openssl101
Vinculando:
brew link --force homebrew / versões / openssl101
fonte
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
Eu tive o mesmo problema ao tentar instalar a versão mais recente do ruby 2.6.5 Https://github.com/kelaberetiv/TagUI/issues/86 me ajuda a resolver o problema. Isso se para o macOS catalina Versão 10.15.1
Basicamente, eu fiz
update and upgrade
homebrew e instalei o openssl e instalei o ruby.Em seguida, crie esses 2 links simbólicos
então instalei o ruby 2.6.5
fonte
Por padrão, o homebrew me deu a versão 1.1 do OpenSSL e eu estava procurando a versão 1.0. Isso funcionou para mim.
Para instalar a versão 1.0:
Em seguida, tentei desvendar o caminho, mas ele me deu o seguinte erro:
Finalmente, o openssl vinculado para apontar para a versão 1.0 usando o comando brew switch:
fonte
para mim é isso que funcionou ...
Editei o ./bash_profile e adicionei o comando abaixo
exportar PATH = "/ usr / local / opt / openssl / bin: $ PATH"
fonte
funciona para mim
e acho que pode resolver todos os problemas como
Failed to connect to raw.githubusercontent.com port 443: Connection refused
fonte