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,调出快捷选项,选择系统,进入系统设置界面:
选择左侧中的高级系统设置(Advanced System settings),进入高级系统设置界面:
选择环境变量(Environment Variables),进入环境变量设置界面:
环境变量设置
选择新建(New…),进入新建的界面,并填入变量名SSL_CERT_FILE
和刚才的证书的位置(以我的为例)C:\Ruby22-x64\cacert.pem
,如下所示:
重启命令行
重启命令行,然后在使用gem添加taobao源,即可成功了,这里要说明的是不一定添加源才出现这问题,只要是访问源的操作缺少证书的话都会出现此文的错误。