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

Lorsque je lance: rvmsudo passenger-install-nginx-module sur mon Mac pour installer nginx, le terminal imprime:

 Checking for OpenSSL development headers... Found: no 

Mais je suis certain d’avoir openssl installé. which openssl renvoie /usr/local/openssl/bin/openssl et /usr/local/openssl/bin: est la première entrée de mon $ PATH. Mes questions sont:

  • Est-ce que les en-têtes de développement OpenSSL inclus avec l’installation régulière openssl via homebrew?
  • Si ce n’est pas le cas, d’où dois-je les télécharger?

Si le brew link openssl --force vous donne ce message:

Avertissement: Refuser de lier: openssl Lier openssl uniquement à Keg signifie que vous pouvez vous retrouver avec le système non sécurisé et désapprouvé OpenSSL en utilisant les en-têtes de openssl de Homebrew. Au lieu de cela, transmettez l’intégralité des chemins d’inclusion / bibliothèque à 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 de ne pas avoir à déterminer la variable d’environnement magique à définir lors de la création de votre bibliothèque OpenSSL préférée:

 $ 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é avec openssl, j’ai des problèmes similaires lors de l’installation de Passenger. brew installe simplement openssl lui-même sans en-têtes de développement.

Si vous utilisez une version plus ancienne de Mac OS X que El Capitan, vous pouvez utiliser: xcode-select --install qui installe également les en-têtes de développement openssl.

MODIFIER:

Mettre à jour l’infusion et installer openssl et forcer la liaison entre openssl et la version armsée 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