Nginx Ne Peut Pas Trouver OpenSSL En-Têtes De Développement
Quand je le 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 certaine que j'ai openssl installé. which openssl
retourne /usr/local/openssl/bin/openssl
et /usr/local/openssl/bin:
est la première entrée dans mon $PATH. Mes questions sont les suivantes:
- Sont OpenSSL développement des en-têtes inclus avec la régularité d'openssl installé via homebrew?
- Si elles ne sont pas, où dois-je télécharger?
Stack Overflow est un site pour la programmation et les questions de développement. Cette question semble être hors-sujet, car il n'est pas sur la programmation ou le développement. Voir Quels sont les sujets que pouvez-vous nous parler ici dans le Centre d'Aide. Peut-être Super-Utilisateur ou Unix & Linux Stack Exchange serait un meilleur endroit pour demander cela. Voir aussi Où dois-je poster des questions à propos de Dev Ops?.
Pour répondre à vos questions... (1) Non, les paquets de développement ne sont pas généralement installé avec les services publics. (2) Votre distribution fournit normalement au moyen d'un
Je vais voter pour fermer cette question hors-sujet parce que cette question est redondante avec superuser.com/questions/982960/..., qui a été résolu par l'OP
Pour répondre à vos questions... (1) Non, les paquets de développement ne sont pas généralement installé avec les services publics. (2) Votre distribution fournit normalement au moyen d'un
libssl-dev
ou libssl-devel
paquet. Vous devriez probablement demander à propos de Homebrew de gestion de paquets sur un autre forum, comme Super-Utilisateur ou Apple Stack Exchange.Je vais voter pour fermer cette question hors-sujet parce que cette question est redondante avec superuser.com/questions/982960/..., qui a été résolu par l'OP
OriginalL'auteur Ethan Keller | 2015-10-06
Vous devez vous connecter pour publier un commentaire.
Si
brew link openssl --force
vous donne ce message:Avertissement: le Refus de lien: openssl Reliant keg-seulement openssl signifie que vous pourriez en reliant contre l'insécurité, obsolète système OpenSSL tout en utilisant les en-têtes de Homebrew de openssl. Au lieu de cela, passer la plein include/bibliothèque des chemins de votre compilateur par exemple:
-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
Essayez ceci:
Maintenant, nous allons l'installer:
Et nous allons maintenant le lien dans notre espace public de sorte que vous n'avez pas à comprendre la magie de la variable d'environnement à définir lors de la construction de votre favori OpenSSL adossés à la bibliothèque:
Tout fait! Profitez de
Accepté réponse est obsolète.
Merci à cette solution de travail comme un charme
OriginalL'auteur A H K
Si vous êtes sur Mac OS X El Capitan, Apple ne comprend pas openssl plus en raison de problèmes de sécurité openssl avais, j'ai le même problème de l'installation des Passagers. brasser juste installe openssl lui-même sans les en-têtes de développement.
Si vous êtes sur une version antérieure de Mac OS X que El Capitan, vous pouvez utiliser:
xcode-select --install
qui installe openssl en-têtes de développement.
EDIT:
Mise à jour le brassage et l'installation d'openssl et de la force de la liaison openssl à brasser de la version résolu mon problème:
l'infusion lien openssl --force résolu mon problème aussi
Si la bière lien openssl --force n'est pas, essayez ce lien. solitum.net/openssl-os-x-el-capitan-and-brew a Fonctionné pour moi.
$ brew link openssl --force Warning: Refusing to link: openssl Linking keg-only openssl means you may end up linking against the insecure, deprecated system OpenSSL while using the headers from Homebrew's openssl. Instead, pass the full include/library paths to your compiler e.g.: -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
Après l'exécution de toutes les commandes,
which openssl
entraîné/usr/bin/openssl
pour moi, pas/usr/local/bin/openssl
(sur SierraOS).OriginalL'auteur mani_007