如何解决安装 rubygems 时出现 SSL 错误,无法从“https://rubygems.org/”中提取数据
对于 RVM 和 OSX 用户
确保使用最新的 rvm:
rvm get stable
然后你可以做两件事:
- 更新证书:
rb
rvm osx-ssl-certs update all
- 更新红宝石:
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
。(在旧系统上它可能不可用 - 不要使用不再接收安全更新的旧系统)
解决方法
我正在尝试做 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。