Ruby mac 下安装 ruby2.0 后,gem install 遇到 versions/2.0.0-p0/lib/ruby/2.0.0/net/http.rb:917:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError) 的解决办法

xds2000 · 2013年03月02日 · 最后由 ashchan 回复于 2013年03月02日 · 4943 次阅读

https://gist.github.com/shu0115/5046345 (这个方法还不一定有效)

http://apple.stackexchange.com/questions/83885/ruby-2-0-0-install-via-rvm-errors-surrounding-openssl 这个我验证的有效。

$ rvm get head --autolibs=3 # get the latest RVM and build required libs
$ rvm requirements # just in case, install all other required stuff
$ rvm reinstall ruby-2.0.0
$ rvm --default use ruby-2.0.0
~ $ ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'
"/usr/local/etc/openssl/cert.pem"

我的这个执行结果说明什么?没有把 OpenSSL package 到 RVM 当中么?

我是

brew install curl-ca-bundle
cp /usr/local/Cellar/curl-ca-bundle/1.87/share/ca-bundle.crt /usr/local/etc/openssl/cert.pem
"export SSL_CERT_FILE=/usr/local/etc/openssl/cert.pem" >> ~/.bashrc

是不是,其实要做的就是将 ruby 2.0 默认使用的一个 ssl cert 证书更新为最新的?

@lgn21st 我猜是找到 openssl 默认使用的 cert 证书地址。

不错,第二个确实有效。多谢分享!

可以省掉一步,一开始不用 remove,倒数第二步重装:rvm reinstall 2.0.0

需要 登录 后方可回复, 如果你还没有账号请 注册新账号