Ruby 安装由于缺少扩展而中止:openssl、readline、zlib 编译错误

lan*_*445 5 ruby openssl ruby-on-rails zlib rbenv

我正在使用 macOS Catalina。我正在尝试通过 rbenv 安装旧版本的 Ruby(1.9.3、2.1.2)。但是,在尝试安装旧版本时,我不断收到以下错误。*安装 2.4 或更高版本时没问题。

我已经试过了

brew install openssl
brew install readline
brew install zlib
Run Code Online (Sandbox Code Playgroud)

以及 brew 更新。我已经安装并更新了所有内容,但仍然出现以下错误。

我也试过用配置选项安装

RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl`" rbenv install 2.1.2
Run Code Online (Sandbox Code Playgroud)

请让我知道如何解决这个问题。

ruby-build:使用自制软件中的 readline

构建失败(Mac OS X 10.15.7 使用 ruby​​-build 20201005)

检查或清理工作树在/var/folders/80/ts3rxpm5199g71p1vm4xzydj03b4g3/T/ruby-build.20201113153529.74484.A9uFGC结果记录到/var/folders/80/ts3rxpm5199g71p1vm4xzydj03b4g3/T/ruby-build.20201113153529.74484.log

最后 10 行日志:未编译 Ruby openssl 扩展。未编译 Ruby readline 扩展。未编译 Ruby zlib 扩展。错误:Ruby 安装由于缺少扩展而中止 使用的配置选项: --
prefix=/Users/username/.rbenv/versions/2.1.2
--with-openssl-dir=/usr/local/opt/openssl@1.0
-- with-readline-dir=/usr/local/opt/readline
CC=clang
LDFLAGS=-L/Users/username/.rbenv/versions/2.1.2/lib
CPPFLAGS=-I/Users/username/.rbenv/versions/ 2.1.2/包含

par*_*rth 8

  1. ruby-buildclang安装旧版本 ruby​​ 所需的11: GitHub 评论链接
    1. 如果clang已经更新到12,你需要先核对它:(sudo rm -rf /Library/Developer/CommandLineTools来源GitHub评论
    2. 然后,从官方 Apple 开发者网站安装Command_Line_Tools_for_Xcode_11.5.dmg for clang11 (至少需要免费 Apple 开发者帐户
  2. 确保openssl安装旧版本时选择 1.0ruby
    1. ruby-build安装适当的openssl例如。2.1.2 构建
    2. echo $RUBY_CONFIGURE_OPTS确保它是空的或设置为使用openssl@1.0
    3. 如果ruby-build仍然选择openssl1.1,那么你可以明确地brew install rbenv/tap/openssl@1.0并且RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.0)"来源 GitHub 评论