小编典典

安装 ruby​​gems 时出现 SSL 错误,无法从“https://rubygems.org/”中提取数据

all

我正在尝试做 Michael Hartl 教程。当我尝试在我的 gemset 中安装 rails 3.2.14 时,出现以下问题:

$ gem install rails -v 3.2.14

错误:找不到有效的 gem ‘rails’ (= 3.2.14),原因如下:

无法从https://rubygems.org/下载数据- SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败(https://s3.amazonaws.com/production.s3.rubygems.org /specs.4.8.gz )

在谷歌搜索之后,我发现我可以为 rubygems 使用非 SSL 源,所以我运行:

sudo gem sources -a http://rubygems.org

然后,当我再次尝试安装rails时,它成功了。但是,我仍然遇到上述问题,但作为警告:

警告:无法从“ https://rubygems.org/ ”中提取数据:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书B:证书验证失败(https://s3.amazonaws.com/production.s3 .rubygems.org/specs.4.8.gz )

如何完全删除此警告/错误?

我正在使用以下内容:

  • rvm 1.22.15
  • ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0]
  • OSX 10.8.5

阅读 77

收藏
2022-05-06

共1个答案

小编典典

对于 RVM 和 OSX 用户

确保使用最新的 rvm:

rvm get stable

然后你可以做两件事:

  1. 更新证书:

rb rvm osx-ssl-certs update all

  1. 更新红宝石:

rb rvm rubygems latest


对于非 RVM 用户

查找证书路径:

cert_file=$(ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE')

生成证书:

security find-certificate -a -p /Library/Keychains/System.keychain > "$cert_file"
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> "$cert_file"

整个代码:https ://github.com/wayneeseguin/rvm/blob/master/scripts/functions/osx-ssl-certs


对于非 OSX 用户

确保更新包ca-certificates(在旧系统上它可能不可用 - 不要使用不再接收安全更新的旧系统)

2022-05-06