##はじめに
git pullしたrailsのフォルダでbundle installをしたらエラー(Could not verify the SSL certificate for https://rubygems.org/) が発生したので、下記に解決法をまとめます。
なぜ解決できたのか?はよく理解できていませんが、それは今後の課題とします。
初学者が書いていますので、ご指摘等ありましたら、コメントいただけますと幸いです。
##上手く行かなかった解決法
###①OpenSSLの有効期限を更新する。
最初に、下記記事を参考にしました。
rails の bundle install が 「Could not verify the SSL certificate for https://rubygems.org/.」で失敗するとき
下記コマンドを実行するとちゃんと結果が返ってきました。
% openssl version
LibreSSL 2.8.3
LibreSSLというのは、OpenSSLの派生改良版のようですね。
そのためOpenSSLはきちんと入っていることになります。
参考: OpenSSLとLibreSSLを比較
証明書の有効期限を下記コマンドで確認するも、こちらは問題無いようでした。
% openssl s_client -connect example.com:443 < /dev/null 2> /dev/null | openssl x509 -text | grep Not
Not Before: Nov 24 00:00:00 2020 GMT
Not After : Dec 25 23:59:59 2021 GMT
###②Gemfileのhttps://を書き換える。
次に、下記記事を参考にしました。
bundle コマンドで SSL エラーが出て進めない
とりあえずGemfileにあるhttps://rubygems.org
をhttp://rubygems.org
に書き換えましたが、変わらずエラー(Could not verify the SSL certificate for〜)が出ました。
##解決法
まず、下記コマンドでrubyが使用している証明書の場所を確認します。
% ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE'
/Users/user_name/.rbenv/versions/2.6.6/openssl/ssl/cert.pem
次に下記コマンドを実行します。
% sudo curl "https://curl.haxx.se/ca/cacert.pem" -o /Users/user_name/.rbenv/versions/2.6.6/openssl/cert.pem
これでbundle installが無事成功しました!