Quand je cours: rvmsudo passenger-install-nginx-module
sur mon Mac pour installer nginx, le terminal affiche:
Checking for OpenSSL development headers...
Found: no
Mais je suis certain d'avoir installé openssl. which openssl
Retour /usr/local/openssl/bin/openssl
et /usr/local/openssl/bin:
est la première entrée de mon $ PATH. Mes questions sont:
Si brew link openssl --force
vous donne ce message:
Avertissement: Refuser de lier: openssl La liaison avec openssl uniquement dans un fût signifie que vous pouvez vous retrouver avec le système non sécurisé et obsolète OpenSSL tout en utilisant les en-têtes d'OpenSL de Homebrew. Au lieu de cela, passez les chemins d'inclusion/bibliothèque complets à votre compilateur, par exemple: -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
Essaye ça:
$ brew doctor (now fix anything that it tells you to fix)
$ brew update
$ brew upgrade
Maintenant installons-le:
$ brew install openssl
Et maintenant, nous allons le lier à notre espace public afin que vous n'ayez pas à comprendre la variable d'environnement magique à définir lors de la construction de votre bibliothèque préférée basée sur OpenSSL:
$ cd /usr/local/include
$ ln -s ../opt/openssl/include/openssl .
Terminé! Prendre plaisir
Si vous êtes sur Mac OS X El Capitan, Apple n'inclut plus openssl en raison de problèmes de sécurité que openssl a eu, j'ai un problème similaire lors de l'installation de Passenger. Brew installe openssl lui-même sans en-têtes de développement.
Si vous utilisez une version antérieure de Mac OS X à El Capitan, vous pouvez utiliser: xcode-select --install
qui installe également les en-têtes de développement openssl.
MODIFIER:
Mettre à jour brew et installer openssl et forcer la liaison openssl à la version brew a résolu mon problème:
$ brew update
$ which openssl
/usr/bin/openssl
$ brew install openssl
$ brew link openssl --force
$ which openssl
/usr/local/bin/openssl