Estou usando macOS 10.15.6 Catalina e Homebrew (versão mais recente, 2.5.1). Quando eu brew list
percebo que existe [email protected]
na minha lista de fórmulas instaladas.
Não me lembro se alguma vez instalei openssl
manualmente ou se veio com outra fórmula, mas certamente nunca escolhi explicitamente a @1.1
versão.
Quando eu faço openssl version
isso diz LibreSSL 2.8.3
.
Quando eu faço brew install openssl
isso diz:
Aviso: [email protected] 1.1.1g já está instalado e atualizado
Para reinstalar o 1.1.1g, executebrew reinstall [email protected]
Em vez disso, tentei brew install libressl
. Isso instala OK, mas quando eu faço openssl version
isso ainda diz LibreSSL 2.8.3
.
No entanto, se eu fizer /usr/local/opt/libressl/bin/openssl version
isso, diz o LibreSSL 3.1.4
que parece mais atualizado. Agora, aparentemente, duas versões estão instaladas, mas a versão 'padrão' ainda é a versão mais antiga.
Duas questões:
Eu só quero usar o mais recente openssl (ou libressl). Quando eu executar
openssl
, quero que invoque a versão mais recente disponível. Posso ou devo de alguma forma me livrar da@1.1
versão e apenas instalar o openssl mais recente? Ou instale o libressl como eu fiz, mas quero que seja o padrão, não o antigo.Considerando que a versão @1.1 provavelmente estará lá por um motivo, isso pode significar que algum outro software, dependendo dessa versão específica, não funcionará mais? Isso meio que parece ruim, por exemplo, e se eu tiver dois softwares que dependem de uma versão específica diferente? Posso instruir o software que depende de versões mais antigas do openssl a usar um caminho específico para essa versão mais antiga, mantendo apenas
openssl
(sem caminho explícito) o mais recente?
O MacOS inclui uma versão mais antiga do
openssl
, que é o que está por padrão no caminho, e é esse que você verá (tentewhich openssl
ver qual deles foi escolhido no seu computador).O Homebrew é instalado
[email protected]
em/opt
, o que significa que você precisa chamá-lo explicitamente de lá e, se quiser vincular outros programas compilados a ele, precisará definir os caminhos da biblioteca, etc.O mesmo para libressl.
O binário, presumo? Uma maneira de fazer isso é adicionar seu próprio
$HOME/bin
diretório na frente do seuPATH
(algo que eu recomendo de qualquer maneira) em seu shell e criar um scriptopenssl
de shell que chame a versão que você deseja usar. Fazendo dessa forma, você não vai estragar mais nada.Exatamente. É por isso que você não deve substituir o que vem com o MacOS, por exemplo.
Se você fizer o contrário (tem um PATH diferente em seu terminal), então qualquer coisa que você chamar de fora do terminal não vai quebrar, para começar.
Para responder a perguntas no comentário:
eu tenho um
~/.profile
cominiciar.
Veja esta resposta . Ou seja: Crie um arquivo
~/bin/openssl
cominiciar. Não se esqueça de
chmod a+x ~/bin/openssl
.O ambiente será aprovado, os redirecionamentos serão aplicados. Curingas serão resolvidos na primeira chamada, mas repassados na forma resolvida.