Gem添加软件源时SSl错误解决

windows下在用gem添加taobao的软件源时出现了ssl认证错误,是因为ruby没有包含ssl证书,所以需要通过下载和配置证书来解决。

问题现象

在命令行下执行下面指令:

gem sources -a https://ruby.taobao.org/

出现以下错误提示:

Error fetching https://ruby.taobao.org/: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/latest_specs.4.8.gz)

解决方法

下载证书

这里是证书,另存到电脑上,目录自己决定,我是保存到了Ruby的安装目录。

设置环境变量

需要设置环境变量指向该文件,系统才能找到证书。下面简单说一下步骤(以win10为例):

系统设置

按下win键 + X,调出快捷选项,选择系统,进入系统设置界面:

1

选择左侧中的高级系统设置(Advanced System settings),进入高级系统设置界面:

2

选择环境变量(Environment Variables),进入环境变量设置界面:

3

环境变量设置

选择新建(New…),进入新建的界面,并填入变量名SSL_CERT_FILE和刚才的证书的位置(以我的为例)C:\Ruby22-x64\cacert.pem,如下所示:

4

重启命令行

重启命令行,然后在使用gem添加taobao源,即可成功了,这里要说明的是不一定添加源才出现这问题,只要是访问源的操作缺少证书的话都会出现此文的错误。


rubygem

503 字

2016-03-21 09:10 +0000