2015-03-31 153 views
0

我在Windows上设置了Rails项目和数据库,并且缺少一些宝石。当试图安装他们,我得到以下错误:安装宝石时SSL证书验证失败

 
    Following gems were not installed: 
    bundler: Could not find a valid gem 'bundler' (>= 0), here is why: 
       Unable to download data from https://rubygems.org/ - SSL_connect 
    returned=1 errno=0 state=SSLv3 read server 
    certificate B: certificate verify failed (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/

但非此工作。 有什么建议吗?

+0

你可以只切换到“http”而不是“https”。我注意到,这样做,然后切换回来有时可以解决问题。 – engineersmnky 2015-03-31 17:24:45

+0

不幸没有工作 – 2015-03-31 17:39:33

回答

1

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

我之前有过完全相同的问题,之后我就可以安装我的宝石。

为了更好的解决方案,运行gem update --system

+0

我试了几次,但它不工作。我认为可以这样,因为https://gems.github.com/ sie已经关闭,并且无法获取宝石。 – 2015-03-31 18:17:58

0

对于Windows使用PowerShell安装

安装Windows PowerShell的

粘贴命令控制台此1LINE代码:(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. persistent设置环境变量的当前用户SSL_CERT_FILE作为%USERPROFILE%/cacert.pem

在此之后尝试安装宝石