web-dev-qa-db-fra.com

Nginx ne peut pas trouver les en-têtes de développement OpenSSL

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:

  • Les en-têtes de développement OpenSSL sont-ils inclus avec l'installation standard d'OpenSL via homebrew?
  • Si ce n'est pas le cas, où dois-je les télécharger?
17
Ethan Keller

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

54
A H K

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
18
mani_007