Seb*_*ian 10 ruby macos openssl rvm
我有两部MacBooks(一部关于小牛队,另一部关于优胜美地),同样的事情发生在两者上.使用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)
Run Code Online (Sandbox Code Playgroud)
我曾尝试在线搜索解决方案,但似乎没有任何效果.大多数有此问题的人都在运行Windows机器.
$ 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.
Run Code Online (Sandbox Code Playgroud)
切换回2.2.2工作正常.有什么想法吗?
Seb*_*ian 20
正在下载http://curl.haxx.se/ca/cacert.pem并添加
export SSL_CERT_FILE=PATH_TO_THe_DOWNLOADED_FILE/cacert.pem
Run Code Online (Sandbox Code Playgroud)
到.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).
Run Code Online (Sandbox Code Playgroud)
在Rails初始化程序中将Excon.defaults [:ssl_verify_peer]设置为false(仅在开发/测试环境中)使其工作.
更新:从源代码重新安装2.2.3摆脱了我的所有问题.
rvm remove 2.2.3
rvm install 2.2.3 --disable-binary
Run Code Online (Sandbox Code Playgroud)