【问题标题】:SSL certificate verify failed when installing gems安装 gem 时 SSL 证书验证失败
【发布时间】:2015-06-05 03:27:12
【问题描述】:

我在 Windows 上设置了 Rails 项目和数据库,但缺少一些 gem。尝试安装它们时出现以下错误:

未安装以下 gem: bundler:找不到有效的 gem 'bundler' (>= 0),原因如下: 无法从 https://rubygems.org/ 下载数据 - SSL_connect 返回=1 errno=0 状态=SSLv3 读取服务器 证书 B:证书验证失败 (https://api.rubygems.org/specs.4.8.gz)

我试过了

https://gist.github.com/luislavena/f064211759ee0f806c88

SSL Error When installing rubygems, Unable to pull data from 'https://rubygems.org/

但这些都不起作用。 有什么想法吗?

【问题讨论】:

  • 你可以直接切换到http而不是https。我注意到这样做然后切换回来有时可以解决问题。
  • 很遗憾没用

标签: ruby-on-rails ruby ssl


【解决方案1】:

作为临时解决方法,您只需将 gemfile 中的 source 'https://rubygems.org' 更改为 source http://rubygems.org。然后运行bundle

我之前也遇到过同样的问题,之后我就可以安装我的 gem。

如需更好的解决方案,请运行gem update --system

【讨论】:

  • 我试了几次,但还是不行。我觉得可以是这样,因为gems.github.comsie 宕机了,拿不到宝石了。
【解决方案2】:

对于安装了 PowerShell 的 Windows

安装 Windows PowerShell

在命令控制台中粘贴这 1 行代码:(WIN + R, cmd)

powershell -Command "& {$fname='cacert.pem'; $outpath=\"$($(Get-ChildItem Env:USERPROFILE).Value)/$fname\"; Invoke-WebRequest http://curl.haxx.se/ca/$fname -OutFile \"$outpath\"; [Environment]::SetEnvironmentVariable('SSL_CERT_FILE', \"$outpath\", 'User')}"

脚本会做:

  1. 下载http://curl.haxx.se/ca/cacert.pem

  2. 另存为%USERPROFILE%/cacert.pem ( C:\Users\__you__\cacert.pem)

  3. 将当前用户SSL_CERT_FILE的持久环境变量设置为%USERPROFILE%/cacert.pem

在此之后尝试安装 gem

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-19
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多