macos - macOS 上的 OpenSSL 1.0.2m
问题描述
为了构建一个特定的库,我需要带有开发包的 openssl 库版本 1.0.2m。我正在使用 macOS。使用brew install openssl
安装最新版本 1.1.1d。
解决方案
由于 OpenSSL 1.0.2 将在 2019 年底结束生命周期,因此不再通过 Homebrew 提供。Homebrew 2.2.0 公告中提到了这一点。
从源代码自己构建和安装 OpenSSL 1.0.2 相当简单。您可以从Old 1.0.2 Releases页面下载所需的版本,并按照INSTALL中的说明进行操作。
也可以恢复旧公式并从中安装,但我不能保证效果如何。以下步骤确实完成了安装过程:
$ git clone https://github.com/Homebrew/homebrew-core.git
$ cd homebrew-core
$ git checkout 75b57384 Formula/openssl.rb
$ brew install Formula/openssl.rb
对我来说,这表明:
Warning: openssl 1.1.1d is available and more recent than version 1.0.2m.
==> Downloading https://homebrew.bintray.com/bottles/openssl-1.0.2m.high_sierra.bottle.tar.gz
之后愉快地继续前进。最后的快速尝试让人相信它运行良好:
$ /usr/local/opt/openssl/bin/openssl version
OpenSSL 1.0.2m 2 Nov 2017
如果您不想git
直接使用,也可以尝试下载该版本的openssl.rb
fromgitHub.com
并brew install
在其上运行。
如果你想知道那个提交哈希是从哪里来的,我碰巧知道这个公式曾经被称为 -- 惊喜 -- openssl.rb
(但git
用来查询已删除的文件也可以)。因此,我检查了历史Formula/openssl.rb
并发现:
$ git log -- Formula/openssl.rb
...
commit 75b573845a17aaf3f7c84dc58e97cf5fe39a502b
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date: Thu Nov 2 17:20:33 2017 +0000
openssl: update 1.0.2m bottle.
推荐阅读
- postgresql-9.6 - 用于大型且持续更新的表的 Postgres 慢速嵌套循环反连接
- javascript - 我正在尝试使用 nodejs 从 mongodb 集合中检索数据,但我必须请求两次才能获得正确的信息
- python - 为什么我的代码会删除文件夹中的所有内容?
- c++ - 将 *this 作为参数传递给线程调用的方法
- amazon-web-services - 您可以通过 AWS CLI 为 AWS Lambda 函数创建测试事件吗?
- .net-core - FindOneAndUpdateAsync 间歇性返回 Null
- python - 如何使用numpy中的列值获取特定行的索引?
- python - 如何在 Matplotlib 中隐藏部分轴?
- c# - 快速更新时,CollectionView 变得混乱或终止应用程序
- node.js - DPI-1047:无法从 nodejs 代码中找到 64 位 Oracle 客户端库