rbenv install 2.7.1 使用自制软件在 Mac OS Catalina 上失败
rbenv install 2.7.1 fails on Mac OS Catalina using home-brew
几天来我一直在尝试安装 ruby。
我安装了 home-brew 检查是否安装了 openssl@1.1。
我 运行 brew install rbenv
并按如下方式配置我的 zsh,
local READLINE_PATH=$(brew --prefix readline)
local OPENSSL_PATH=$(brew --prefix openssl)
export LDFLAGS="-L$READLINE_PATH/lib -L$OPENSSL_PATH/lib"
export CPPFLAGS="-I$READLINE_PATH/include -I$OPENSSL_PATH/include"
export PKG_CONFIG_PATH="$READLINE_PATH/lib/pkgconfig:$OPENSSL_PATH/lib/pkgconfig"
# Use the OpenSSL from Homebrew instead of ruby-build
# Note: the Homebrew version gets updated, the ruby-build version doesn't
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$OPENSSL_PATH"
# Place openssl@1.1 at the beginning of your PATH (preempt system libs)
export PATH=$OPENSSL_PATH/bin:$PATH
# Load rbenv
eval "$(rbenv init -)"
# Extract the latest version of Ruby so you can do this:
# rbenv install $LATEST_RUBY_VERSION
export LATEST_RUBY_VERSION=$(rbenv install -l | grep -v - | tail -1)
当我尝试 运行 rbenv install 2.7.1
时出现构建错误。说它不需要 openssl@1.1.
我检查了它是否已安装并尝试了我能想到的所有方法。这是在 catalina 10.15 全新安装上测试的。
我重新格式化了我的电脑并安装了 Xcode 命令工具。
这是日志。
installing manpages: /Users/main/.rbenv/versions/2.7.1/share/man (man1, man5)
installing default gems from lib: /Users/main/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0 (build_info, cache, doc, extensions, gems, specifications)
benchmark 0.1.0
/private/var/folders/cv/z8f4fy9171z64hl8vk4ms68h0000gn/T/ruby-build.20200617194325.10220.l3muIu/ruby-2.7.1/lib/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- openssl (LoadError)
from /private/var/folders/cv/z8f4fy9171z64hl8vk4ms68h0000gn/T/ruby-build.20200617194325.10220.l3muIu/ruby-2.7.1/lib/rubygems/core_ext/kernel_require.rb:92:in `require'
from /private/var/folders/cv/z8f4fy9171z64hl8vk4ms68h0000gn/T/ruby-build.20200617194325.10220.l3muIu/ruby-2.7.1/lib/rubygems/specification.rb:2426:in `to_ruby'
from ./tool/rbinstall.rb:846:in `block (2 levels) in install_default_gem'
from ./tool/rbinstall.rb:279:in `open_for_install'
from ./tool/rbinstall.rb:845:in `block in install_default_gem'
from ./tool/rbinstall.rb:835:in `each'
from ./tool/rbinstall.rb:835:in `install_default_gem'
from ./tool/rbinstall.rb:799:in `block in <main>'
from ./tool/rbinstall.rb:950:in `block in <main>'
from ./tool/rbinstall.rb:947:in `each'
from ./tool/rbinstall.rb:947:in `<main>'
make: *** [do-install-all] Error 1
任何帮助将不胜感激我很生气。
所以我最后做的是安装整个 Xcode 在网上找到的软件包,而不是通过 App Store。这样做有助于解决我的问题。
ruby-build会尽量下载并编译想要的Ruby版本,但有时会因为未满足系统依赖而编译失败,或者编译成功但显示新的Ruby版本运行时出现奇怪的故障。以下说明是我们对健全的构建环境的建议。
苹果操作系统:
如果您还没有这样做,请安装 Xcode 命令行工具(xcode-select --install)和 Homebrew。那么:
可选,但推荐:
brew install openssl readline
使用 Homebrew OpenSSL(注意:不适用于 ruby < 2.4)
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)"
rbenv install 2.6.5
几天来我一直在尝试安装 ruby。
我安装了 home-brew 检查是否安装了 openssl@1.1。
我 运行 brew install rbenv
并按如下方式配置我的 zsh,
local READLINE_PATH=$(brew --prefix readline)
local OPENSSL_PATH=$(brew --prefix openssl)
export LDFLAGS="-L$READLINE_PATH/lib -L$OPENSSL_PATH/lib"
export CPPFLAGS="-I$READLINE_PATH/include -I$OPENSSL_PATH/include"
export PKG_CONFIG_PATH="$READLINE_PATH/lib/pkgconfig:$OPENSSL_PATH/lib/pkgconfig"
# Use the OpenSSL from Homebrew instead of ruby-build
# Note: the Homebrew version gets updated, the ruby-build version doesn't
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$OPENSSL_PATH"
# Place openssl@1.1 at the beginning of your PATH (preempt system libs)
export PATH=$OPENSSL_PATH/bin:$PATH
# Load rbenv
eval "$(rbenv init -)"
# Extract the latest version of Ruby so you can do this:
# rbenv install $LATEST_RUBY_VERSION
export LATEST_RUBY_VERSION=$(rbenv install -l | grep -v - | tail -1)
当我尝试 运行 rbenv install 2.7.1
时出现构建错误。说它不需要 openssl@1.1.
我检查了它是否已安装并尝试了我能想到的所有方法。这是在 catalina 10.15 全新安装上测试的。 我重新格式化了我的电脑并安装了 Xcode 命令工具。
这是日志。
installing manpages: /Users/main/.rbenv/versions/2.7.1/share/man (man1, man5)
installing default gems from lib: /Users/main/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0 (build_info, cache, doc, extensions, gems, specifications)
benchmark 0.1.0
/private/var/folders/cv/z8f4fy9171z64hl8vk4ms68h0000gn/T/ruby-build.20200617194325.10220.l3muIu/ruby-2.7.1/lib/rubygems/core_ext/kernel_require.rb:92:in `require': cannot load such file -- openssl (LoadError)
from /private/var/folders/cv/z8f4fy9171z64hl8vk4ms68h0000gn/T/ruby-build.20200617194325.10220.l3muIu/ruby-2.7.1/lib/rubygems/core_ext/kernel_require.rb:92:in `require'
from /private/var/folders/cv/z8f4fy9171z64hl8vk4ms68h0000gn/T/ruby-build.20200617194325.10220.l3muIu/ruby-2.7.1/lib/rubygems/specification.rb:2426:in `to_ruby'
from ./tool/rbinstall.rb:846:in `block (2 levels) in install_default_gem'
from ./tool/rbinstall.rb:279:in `open_for_install'
from ./tool/rbinstall.rb:845:in `block in install_default_gem'
from ./tool/rbinstall.rb:835:in `each'
from ./tool/rbinstall.rb:835:in `install_default_gem'
from ./tool/rbinstall.rb:799:in `block in <main>'
from ./tool/rbinstall.rb:950:in `block in <main>'
from ./tool/rbinstall.rb:947:in `each'
from ./tool/rbinstall.rb:947:in `<main>'
make: *** [do-install-all] Error 1
任何帮助将不胜感激我很生气。
所以我最后做的是安装整个 Xcode 在网上找到的软件包,而不是通过 App Store。这样做有助于解决我的问题。
ruby-build会尽量下载并编译想要的Ruby版本,但有时会因为未满足系统依赖而编译失败,或者编译成功但显示新的Ruby版本运行时出现奇怪的故障。以下说明是我们对健全的构建环境的建议。
苹果操作系统: 如果您还没有这样做,请安装 Xcode 命令行工具(xcode-select --install)和 Homebrew。那么:
可选,但推荐:
brew install openssl readline
使用 Homebrew OpenSSL(注意:不适用于 ruby < 2.4)
export RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(brew --prefix openssl@1.1)"
rbenv install 2.6.5