RBENV安装不下载Ruby版本



使用RBENV rbenv install -l安装Ruby版本返回正确的列表。但是

$ rbenv install 2.3.4 -v

下载失败,即使可以通过浏览器下载。我对openssl版本不当的直觉(由于对存在这样的问题的遥远记忆 - tls版本?

ruby-build: use openssl from homebrew 
/var/folders/kV/kVDOSPkcEuqSVnTjenAVRE+++TI/-Tmp-/ruby-build.20170601122915.1010 ~ Downloading ruby-2.3.4.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.4.tar.bz2 
curl: (35)    error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version 
error: failed to download ruby-2.3.4.tar.bz2

如何克服?我可以指向rbenv使用下载的tarball吗?

原因是因为rbenv使用旧系统 curl 和旧系统 openssl 与之相关,对协议tls v 1.1--1.3。对我来说,使用BREW安装新版本的 curl openssl 进行了工作:

brew install openssl@1.1
brew install curl

然后将安装的卷曲添加到您的路径(默认路径之前,是/usr/bin(,并确保还存在实际Brew版本的OpenSSL(将其添加到您的././bash_profile或./ZSHRC或ETC(:

export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"
export PATH="/usr/local/opt/curl/bin:$PATH"

您可以在重新推出终端后确保该程序的最新版本将通过尝试

使用
which -a openssl
which -a curl
openssl version -a
curl -V

前两个命令应使用程序输出所有路径,但是顶级命令应该是酿造版本。最后两个命令应显示程序的最新版本(我现在为1.1.0f和7.55(。现在尝试

rbenv install [version]

在Macos Sierra上使用启用SIP。

最新更新