如何安装最新版本的OpenSSL Mac OS X El Capitan

我已经使用brew install openssl来下载和安装openssl v1.0.2f,但是,它回来说:

 A CA file has been bootstrapped using certificates from the system keychain. To add additional certificates, place .pem files in /usr/local/etc/openssl/certs and run /usr/local/opt/openssl/bin/c_rehash This formula is keg-only, which means it was not symlinked into /usr/local. Apple has deprecated use of OpenSSL in favor of its own TLS and crypto libraries Generally there are no consequences of this for you. If you build your own software and it requires this formula, you'll need to add to your build variables: LDFLAGS: -L/usr/local/opt/openssl/lib CPPFLAGS: -I/usr/local/opt/openssl/include 

当我做openssl version -a它总是给我:

 OpenSSL 0.9.8zg 14 July 2015 built on: Jul 31 2015 platform: darwin64-x86_64-llvm options: bn(64,64) md2(int) rc4(ptr,char) des(idx,cisc,16,int) blowfish(idx) compiler: -arch x86_64 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O3 -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DL_ENDIAN -DMD32_REG_T=int -DOPENSSL_NO_IDEA -DOPENSSL_PIC -DOPENSSL_THREADS -DZLIB -mmacosx-version-min=10.6 OPENSSLDIR: "/System/Library/OpenSSL" 

我怎样才能用新的版本replace旧版本? 我已经search了很多如何做到这一点,但在线解决scheme似乎并不适合我…

只要

 export PATH=$(brew --prefix openssl)/bin:$PATH in ~/.bash_profile 

已经为我工作了! 谢谢你mipadi。

尝试创build一个符号链接,确保你已经在/usr/local/include安装了openssl。

 ln -s /usr/local/Cellar/openssl/{version}/include/openssl /usr/local/include/openssl 

更多信息在与El Capitan的Openssl 。

要用新版本replace旧版本,您需要更改链接。 input该命令到terminal。

 brew link --force openssl 

再次检查openssl的版本。 它应该改变。

我无法重现您运行El Cap + Homebrew 1.0.x的问题

升级到9月下旬发布的Homebrew 1.0.x。 openssl链接的方式进行了特定的更改 。 该项目现在已经达到了1.0版本,发布时间更加稳健。

 brew uninstall openssl 
 brew update && brew upgrade && brew cleanup && brew doctor 

在继续之前,您应该解决brew doctor提出的任何问题。

 brew install openssl 

注意: 升级自制软件会将所有安装的软件包更新到最新版本。

当我search关于openssl的信息时,我到达了这个页面。 我相信我已经明白了为什么自制软件现在正在采取这个行动。 我的解决scheme可能适合你:

  • 使用以下命令使新的openssl命令可用(假设您已经调整了将/ usr / local / bin放在/ usr / bin之前的PATH): ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/

  • 在使用openssl编译时,请遵循Homebrew的build议,并使用-I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib

  • 或者,可以通过在.bash_profile或.bashrc中放置以下行来使这些设置成为永久性的: export CPATH=/usr/local/opt/openssl/include export LIBRARY_PATH=/usr/local/opt/openssl/lib

执行以下命令:

 brew update brew install openssl echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile 

你将安装最新版本的openssl,并从cli(命令行/terminal)访问。 由于第三个命令会将导出path添加到.bash_profile ,因此在系统重新启动时将可以访问新安装的openssl版本。

如果您不介意警告消息中突出显示的潜在问题,可以运行brew link openssl将其链接到/usr/local 。 否则,您可以将openssl bin目录添加到您的path中:

 export PATH=$(brew --prefix openssl)/bin:$PATH