安装 ruby 旧版本 2.0.0-p247 时出错

error installing ruby old version 2.0.0-p247

我正在尝试 运行 命令

 rbenv install 2.0.0-p247

我尝试通过谷歌搜索我遇到的错误来执行几个步骤,但我仍然无法解决错误

我遇到了这个错误

构建失败(macOS 11.4 使用 ruby-build 20210804)

Inspect or clean up the working tree at /var/folders/xm/rfncj90s56x8d1wdj0sl_0w40000gn/T/ruby-build.20210814020658.2987.F4rCnt
Results logged to /var/folders/xm/rfncj90s56x8d1wdj0sl_0w40000gn/T/ruby-build.20210814020658.2987.log

Last 10 log lines:
compiling ancdata.c
compiling raddrinfo.c
installing default socket libraries
compiling constants.c
1 warning generated.
linking shared-object ripper.bundle
ld: warning: directory not found for option '-L/Users/username/.rbenv/versions/2.0.0-p247/lib'
linking shared-object socket.bundle
ld: warning: directory not found for option '-L/Users/username/.rbenv/versions/2.0.0-p247/lib'
make: *** [build-ext] Error 2

上述日志文件包含内容:

https://easyupload.io/gygw5y

Ruby 2.0.0 已经过时了,所以我假设您有特定的原因需要安装它。否则,最好安装一个受支持的现代版本,例如 2.7.x 或 3.0.x.

旧版本的 ruby 是用 openssl@1.0 构建的。在 1.0 生命周期结束后,ruby-build 进行了重大更改以要求 openssl@1.1。这意味着 ruby 版本 < 2.4 不能再 installed/built 直接使用 ruby-build(即 rbenv)。这个 GitHub issue 有详细信息。

Homebrew 已删除其 openssl@1.0 公式,但您仍然可以通过 rbenv tap 安装它。以下 可能 对您有用,但问题报告中的评论根据所使用的命令行工具版本的不同结果不同。

brew install rbenv/tap/openssl@1.0
RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.0)" 2.0.0-p247

注意:如果您 运行 使用的是 M1(Apple Silicon)Mac,您可能就不走运了。 AFIK,无意让 openssl@1.0 在 Apple Silicon 上工作。