安装rubygems时出现SSL错误,无法从中提取数据’https://rubygems.org/

我正在尝试做迈克尔·哈特尔的教程。当我尝试在gemset中安装rails 3.2.14时,我遇到以下问题:

$gem安装导轨-V3.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源代码-ahttp://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修订版41674)[x86_64-darwin12.3.0]
  • OSX 10.8.5

RVM&OSX用户

确保使用最新的rvm:

rvm稳定下来

然后你可以做两件事:

  1. 更新证书:

    rvm osx ssl证书全部更新
    
  2. 更新rubygems:

    rvm rubygems最新版本


对于非RVM用户

查找证书的路径:

cert\u file=$(ruby-ropenssl-e'puts OpenSSL::X509::DEFAULT\u cert\u file')

生成证书:

安全查找证书-a-p/Library/Keychains/System.keychain>“$cert\u文件”
安全查找证书-a-p/System/Library/Keychains/SystemRootCertificates.keychain&gt&燃气轮机;“$cert\u文件”

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


对于非OSX用户

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

Windows说明

Ruby Installer windows版由Luis Lavena编写,证书路径将显示类似于C:/Users/Luis/…check的内容https://github.com/oneclick/rubyinstaller/issues/249 了解更多详细信息和此答案https://stackoverflow.com/a/27298259/497756 修理

发表评论