Eth*_*ler 18 macos homebrew openssl nginx
当我运行:rvmsudo passenger-install-nginx-module在我的Mac上安装nginx时,终端打印:
Checking for OpenSSL development headers...
  Found: no
但我确定我已经安装了openssl.which openssl返回/usr/local/openssl/bin/openssl并且/usr/local/openssl/bin:是$ PATH中的第一个条目.我的问题是:
A H*_*H K 54
如果brew link openssl --force给你这个消息:
警告:拒绝链接:openssl链接keg-only openssl意味着在使用Homebrew的openssl的头文件时,你最终可能会链接到不安全的,已弃用的系统OpenSSL.相反,将完整的include/library路径传递给编译器,例如:-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib
试试这个:
$ brew doctor (now fix anything that it tells you to fix)
$ brew update
$ brew upgrade
现在让我们安装它:
$ brew install openssl
现在我们将它链接到我们的公共区域,这样您就不必在构建自己喜欢的OpenSSL支持的库时找出要设置的神奇环境变量:
$ cd /usr/local/include
$ ln -s ../opt/openssl/include/openssl .
全部完成!请享用
man*_*007 18
如果您使用的是Mac OS X El Capitan,Apple不再包含openssl,因为openssl存在安全问题,我在安装Passenger时遇到类似问题.brew只是安装openssl本身没有开发头.
如果您使用的是Mac OS X的旧版本而不是El Capitan,您可以使用:
 xcode-select --install 
安装openssl开发标题.
编辑:
更新brew并安装openssl并强制将openssl链接到brew版本解决了我的问题:
$ brew update 
$ which openssl  
/usr/bin/openssl 
$ brew install openssl
$ brew link openssl --force 
$ which openssl 
/usr/local/bin/openssl
| 归档时间: | 
 | 
| 查看次数: | 22120 次 | 
| 最近记录: |