macOS 上的 OpenSSL 1.0.2m

Leo*_*nik 23 macos homebrew openssl

为了构建一个特定的库,我需要带有 devel 包的 openssl 库版本 1.0.2m。我在 macOS 上工作。使用brew install openssl安装最新版本 1.1.1d。

Rei*_*eek 37

由于 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
Run Code Online (Sandbox Code Playgroud)

对我来说,这表明:

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
Run Code Online (Sandbox Code Playgroud)

之后就愉快地继续了。最后的快速尝试让人相信它运行良好:

$ /usr/local/opt/openssl/bin/openssl version
OpenSSL 1.0.2m  2 Nov 2017
Run Code Online (Sandbox Code Playgroud)

如果你不想git直接使用,你也可以尝试下载那个版本的openssl.rbfromgitHub.combrew 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.
Run Code Online (Sandbox Code Playgroud)


小智 24

最近由于 openssl 版本从 1.0 到 1.1 的最新更新而苦苦挣扎,并希望将其恢复到旧版本。除了下面给出的解决方案外,没有其他解决方案对我有用:

brew install rbenv/tap/openssl@1.0 rvm reinstall 1.9.3-p551 --with-openssl-dir='/usr/local/opt/openssl@1.0' gem update --system

  • 第一个命令单独对我有用,尽管我必须手动修复“/usr/local/opt/openssl/lib”中的符号链接才能拾取它。 (2认同)

小智 13

而不是下载的特定版本的Formula/openssl.rb你可以使用原始参考与这些特定的文件提交SHA提到这里

因此,对于版本 1.0.2t 的最后更新,SHA 为 8b9d6d688f483a0f33fcfc93d433de501b9c3513

commit 8b9d6d688f483a0f33fcfc93d433de501b9c3513
Author: BrewTestBot <homebrew-test-bot@lists.sfconservancy.org>
Date:   Sat Sep 28 19:38:49 2019 +0000

    openssl: update 1.0.2t bottle.
Run Code Online (Sandbox Code Playgroud)

所以我会执行以下命令来安装 1.0.2t。

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/8b9d6d688f483a0f33fcfc93d433de501b9c3513/Formula/openssl.rb
Run Code Online (Sandbox Code Playgroud)

  • 对我来说,该命令导致错误:“从 GitHub 提交 URL 调用 openssl 安装已被禁用!请使用 'brew extract openssl' 来稳定 GitHub 上的点击。”:/ (14认同)

Lon*_*újo 8

1-下载文件:

wget https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

2 - 使用下载的文件运行 brew:

brew install openssl.rb


小智 7

其他解决方案将不起作用,因为您会收到此错误"Calling Installation of openssl from a GitHub commit URL is disabled! Use 'brew extract openssl' to stable tap on GitHub instead.",以下步骤将修复它:

  1. 先去本地安装homebrew
cd /usr/local/Homebrew/
Run Code Online (Sandbox Code Playgroud)
  1. Homebrew 2.5 删除了直接从 git repos 安装公式的选项,因此我们需要检查旧版本
git checkout 2.3.0
Run Code Online (Sandbox Code Playgroud)
  1. 安装 openssl 最新 1.0.x 版本
HOMEBREW_NO_AUTO_UPDATE=1 brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb
Run Code Online (Sandbox Code Playgroud)
  1. 返回当前版本的自制软件
git co -
Run Code Online (Sandbox Code Playgroud)
  1. 告诉 brew 使用openssl这种方式的旧版本,如果你已经安装了,你可以选择使用哪个版本
brew switch openssl 1.0.2t
Run Code Online (Sandbox Code Playgroud)