gem install jekyll 报错 Unable to download data from https://ruby.taobao.org/
在用 gem install jekyll
时出现错误信息:
ERROR: Could not find a valid gem 'rails' (>= 0), here is why:
Unable to download data from https://ruby.taobao.org/ - Errno::ECONNREFUSED: No connection could be made because the target machine actively refused it. - connect(2) for "127.0.0.1" port 8118 (https://ruby.taobao.org/latest_specs.4.8.gz)
通过搜索找到解决方案:
gem sources -r https://ruby.taobao.org/
gem sources -a http://ruby.taobao.org/
貌似意思是将https替换成http,但是安装后别忘了把它设回来:
gem sources -r http://ruby.taobao.org/
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://rubygems-china.oss-cn-hangzhou.aliyuncs.com/specs.4.8.gz)
这是说系统中的 ssl 设置有问题,解决方法:
-
下载证书
- 将下载的证书覆盖在本地 ruby 的安装路径(一般在 C:/Ruby21-x64 )下的 cacert.pem 文件
- 在环境变量里设置 SSL_CERT_FILE 这个环境变量,配置命令:
set SSL_CERT_FILE=C:/Ruby21-x64/cacert.pem
Ps.经过以上验证,发现没必要将 gem sources 从 https 改成 http ,只是配置 SSL_CERT_FILE 就可以解决上边出现的两个问题,貌似每次通过 gem 下载或者更新都需要重新进行一次配置命令才能成功.
如有任何知识产权、版权问题或理论错误,还请指正。
转载请注明原作者及以上信息。