Pour construire une bibliothèque particulière, j'ai besoin de la version 1.0.2m de la bibliothèque openssl avec le package devel. Je travaille sur macOS. L'utilisation de brew install openssl
installe la dernière version 1.1.1d.
6 Réponses :
Étant donné qu'OpenSSL 1.0.2 est en fin de vie d'ici la fin de 2019, il n'est plus disponible via Homebrew. Ceci est mentionné dans l' annonce de Homebrew 2.2.0 .
Il est assez simple de créer et d'installer vous-même OpenSSL 1.0.2 à partir des sources. Vous pouvez télécharger votre version requise à partir de la page Anciennes versions 1.0.2 et suivre les instructions trouvées dans INSTALL .
Il est peut-être également possible de récupérer une formule plus ancienne et de l'installer à partir de cela, mais je ne peux pas garantir à quel point cela fonctionne. Les étapes suivantes ont terminé le processus d'installation:
$ git log -- Formula/openssl.rb ... commit 75b573845a17aaf3f7c84dc58e97cf5fe39a502b Author: BrewTestBot <brew-test-bot@googlegroups.com> Date: Thu Nov 2 17:20:33 2017 +0000 openssl: update 1.0.2m bottle.
Pour moi, cela a montré:
$ /usr/local/opt/openssl/bin/openssl version OpenSSL 1.0.2m 2 Nov 2017
et a continué joyeusement après cela. Un essai rapide à la fin donne une certaine confiance que cela a bien fonctionné:
Warning: openssl 1.1.1d is available and more recent than version 1.0.2m. ==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2m.high_sierra.bottle.tar.gz
Si vous préférez ne pas utiliser git
directement, vous pouvez également essayer de télécharger cette version de openssl.rb
depuis gitHub.com
et exécuter brew install
dessus.
Si vous vous demandez d'où vient ce hachage de commit, je savais que la formule s'appelait openssl.rb
- surprise - openssl.rb
(mais utiliser git
pour interroger les fichiers supprimés aurait également fonctionné). Par conséquent, j'ai inspecté l'historique de Formula/openssl.rb
et Formula/openssl.rb
trouvé:
$ git clone https://github.com/Homebrew/homebrew-core.git $ cd homebrew-core $ git checkout 75b57384 Formula/openssl.rb $ brew install Formula/openssl.rb
Il m'a fallu une éternité pour trouver une solution fonctionnelle - merci beaucoup pour cela!
Au lieu de télécharger la version spécifique de Formula/openssl.rb
vous pouvez simplement utiliser la référence brute au fichier avec le SHA de validation spécifique comme mentionné ici .
Donc, pour la dernière mise à jour vers la version 1.0.2t, le SHA est 8b9d6d688f483a0f33fcfc93d433de501b9c3513
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8b9d6d688f483a0f33fcfc93d433de501b9c3513/Formula/openssl.rb
J'exécuterais donc la commande suivante pour installer 1.0.2t.
commit 8b9d6d688f483a0f33fcfc93d433de501b9c3513 Author: BrewTestBot <homebrew-test-bot@lists.sfconservancy.org> Date: Sat Sep 28 19:38:49 2019 +0000 openssl: update 1.0.2t bottle.
Pour moi, la commande a abouti à une erreur: "Calling Installation of openssl from a GitHub commit URL is disabled! Use 'brew extract openssl' to stable tap on GitHub instead."
: /
Récemment, je me débattais en raison de la récente mise à jour de la version openssl de 1.0 à 1.1 et je voulais la revenir à une version plus ancienne. Aucune autre solution à l'exception de celle donnée ci-dessous n'a fonctionné pour moi:
brew install rbenv/tap/openssl@1.0 rvm reinstall 1.9.3-p551 --with-openssl-dir='/usr/local/opt/openssl@1.0' gem update --system
La première commande seule a fonctionné pour moi, même si j'ai dû corriger manuellement les liens symboliques dans /usr/local/opt/openssl/lib
pour qu'il soit récupéré.
incroyable. m'a tellement aidé!
@LarsMariusGarshol Cela fonctionne si vous ne vous souciez pas d'avoir également OpenSSL 1.1 disponible.
1- Téléchargez le fichier:
wget https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
2 - Exécutez infusion avec le fichier téléchargé:
brew install openssl.rb
Cela a fonctionné! J'ai d'abord dû installer wget via "brew install wget", qui a mis à jour de nombreux paquets en cours de route. J'ai alors pu "brasser le commutateur openssl 1.0.2t"
Commentaire supplémentaire (impossible de modifier ci-dessus car plus de 5 minutes). Pour PHP5.6 (malheureusement toujours nécessaire sur un ancien projet, ne demandez pas), j'ai également dû "wget raw.githubusercontent.com/Homebrew/homebrew-core/... " pour obtenir icu4c 64.2 et y passer avec "brew commutateur icu4c 64.2 ".
D'autres solutions ne fonctionneront pas car vous obtiendrez cette erreur "Calling Installation of openssl from a GitHub commit URL is disabled! Use 'brew extract openssl' to stable tap on GitHub instead."
les étapes suivantes vont le réparer:
brew switch openssl 1.0.2t
git co -
HOMEBREW_NO_AUTO_UPDATE=1 brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
git checkout 2.3.0
openssl
cette façon, vous pouvez choisir la version à utiliser si vous avez installé les deuxcd /usr/local/Homebrew/
co
est un alias courant pour le checkout
. Si vous ne l'avez pas configuré, lancez git checkout -o
pour passer à la version actuelle de homebrew.
Ce n'est peut-être pas une idée parfaite, mais cela a résolu mon problème (image libssl.1.0.0.dylib introuvable):
sudo ln -s /usr/lib/libssl.dylib /usr/local/opt/openssl/lib/libssl.1.0.0.dylib sudo ln -s /usr/lib/libcrypto.dylib /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib
J'espère que ça marche pour toi!
Voir cette réponse