问题现象
最近在Win 10电脑上装了Ruby的环境,因为在VS Code有关的插件要用一些依赖,在gem执行安装命令的时候总报错误:

不推荐的解决方案
经过搜索求助,发现并没有有效的解决方法,根据Ruby China的解决方法,实在不行可以将~/.gemrc中的设置改为:
1 | :sources: |
注意要将https换为http,设置:ssl_verify_mode: 0关闭SSL功能。
但是这样就没有了安全性了,对安全有要求的看官估计也不太接受这个解决方案。
原因发现及解决方案
若是曾经安装过Ruby的用户,那么该解决方案应该很有参考价值。
Ruby China上也说了,如果配置正确的话是不会发生SSL错误的,加上笔者最终在网上搜索到一个近似的案例以及解决方案。
最终在电脑的环境设置中找到了SSL_CERT_FILE选项:

笔者猜测是装旧版本时安装器就设置了这个环境变量,而卸载时这个变量并未随之被取消,新版本安装器探测到了已经设置该变量就不再检测并更正了,导致了笔者后面几次安装Ruby之后都无法正常使用gem。
安装的Ruby 2.4.1里面SSL证书的路径为:
1 | C:\Ruby24-x64\ssl\cert.pem |
基本上就可以确认是变量的不正确设置引起的,更正变量为:

启动命令行并执行一些gem命令:

命令正常运行,问题解决。