How to install latest version of openssl Mac OS X El Capitan
我已经使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 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 |
当我执行
1 2 3 4 5 6 | 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" |
如何用新版本替换旧版本? 我已经搜索了很多有关如何执行此操作的方法,但是在线解决方案似乎对我不起作用...
执行以下命令:
1 2 3 4 | brew update brew install openssl echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile |
您将安装最新版本的openssl,并可以从cli(命令行/终端)访问。由于第三个命令会将导出路径添加到
只要
1 | export PATH=$(brew --prefix openssl)/bin:$PATH in ~/.bash_profile |
为我工作!
谢谢mipadi。
尝试创建符号链接,确保首先在
1 | ln -s /usr/local/Cellar/openssl/{version}/include/openssl /usr/local/include/openssl |
与El Capitan一起在Openssl上获取更多信息。
我无法在运行El Cap + Homebrew 1.0.x时重现您的问题
升级到9月下旬发布的Homebrew1.0.x。对opensl的??链接方式进行了特定更改。现在该项目的发布时间是1.0,现在的发布时间表更加稳健。
1 | brew uninstall openssl |
1 | brew update && brew upgrade && brew cleanup && brew doctor |
您应先解决
1 | brew install openssl |
注意:升级自制软件会将所有已安装的软件包更新为最新版本。
当我搜索关于openssl仅桶式的信息时,我到达了此页面。我相信我已经了解Homebrew现在采取此行动的原因。我的解决方案可能对您有用:
-
使用以下命令使新的openssl命令可用(假设您已调整PATH以将/ usr / local / bin放在/ usr / bin之前):
ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/
-
使用openssl进行编译时,请遵循Homebrew的建议并使用
-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
此命令解决了我在github CI作业和virtualbox上的问题
1 2 | brew install [email protected] cp /usr/local/opt/[email protected]/lib/pkgconfig/*.pc /usr/local/lib/pkgconfig/ |
这是一个古老的问题,但在当前情况下仍要回答,因为上述许多答案现在可能无法解决。
问题在于路径仍指向旧版本。可以提供两种解决方案:
要将旧版本替换为新版本,您需要更改其链接。在终端上键入该命令。
1 | brew link --force openssl |
再次检查openssl的版本。应该改变它。
如果您不介意警告消息中突出显示的潜在问题,可以运行
1 | export PATH=$(brew --prefix openssl)/bin:$PATH |