提问者:小点点

不能在OSX上用RVM运行Ruby 2.2.3


我有两台MacBook(一台在小牛上,另一台在约塞米蒂上),两台上都发生了同样的事情。在用RVM安装Ruby 2.2.3之后,我得到以下错误:

.rvm/rubies/ruby-2.2.3/lib/ruby/2.2.0/net/http.rb:923:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (Faraday::SSLError)

我试过在网上搜索解决方案,但似乎没有任何效果。大多数有这个问题的人都在运行视窗系统。

$ rvm osx-ssl-certs status all
Certificates for /usr/local/etc/openssl/cert.pem: Up to date.
Certificates for /etc/openssl/cert.pem: Up to date.

切换回2.2.2工作正常。有什么想法吗?


共2个答案

匿名用户

下载 http://curl.haxx.se/ca/cacert.pem 并添加

export SSL_CERT_FILE=PATH_TO_THe_DOWNLOADED_FILE/cacert.pem

到。bash_profile/。zshrc部分修复了这个问题,因为它在我的系统上抛出了以下错误:

Excon::Errors::SocketError: Unable to verify certificate, please set `Excon.defaults[:ssl_ca_path] = path_to_certs`, `ENV['SSL_CERT_DIR'] = path_to_certs`, `Excon.defaults[:ssl_ca_file] = path_to_file`, `ENV['SSL_CERT_FILE'] = path_to_file`, `Excon.defaults[:ssl_verify_callback] = callback` (see OpenSSL::SSL::SSLContext#verify_callback), or `Excon.defaults[:ssl_verify_peer] = false` (less secure).

在Rails初始化器中将excon . defaults[:SSL _ verify _ peer]设置为false(仅在开发/测试环境中)可以使其工作。

更新:从源代码重新安装2.2.3解决了我所有的问题。

rvm remove 2.2.3
rvm install 2.2.3 --disable-binary

匿名用户

除了在El Capitan上安装brew install openssl之外,我无能为力。我尝试了所有方法,比如使用RVM更新证书,从haxx.se替换SSL证书,或者重新安装ruby。其他方法都不起作用。