1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windows10 に Ruby2.3.1 をインストールしたら gem の install/update で SSL エラーが出た

Last updated at Posted at 2016-10-06

症状

ここから最新版(2.3.1 x64)インストーラをダウンロードしてインストールした。
その後 gem update --system をしたら以下のエラーが出た。
gem install sass でも同様のエラーが出た。

ERROR: While executing gem .. (Gem::RemoteFetcher::FetchError)
SSL_connect returned=1 errono=0 state=SSLv3 read server certificate verify faild ( https://api.rubygems.org/specs.4.8.gz)

スマートな解決方法 (コメントを元に実践してみました)

  1. ルート証明書をダウンロードしてくる。
  2. コマンドラインで次のコマンドを発行する。 set SSL_CERT_FILE=C:¥Users¥myname¥Desktop¥cacert.pem
    • このとき = の前後にはスペースを入れないこと。
    • 今回は myname というユーザのデスクトップに置いています。
  3. 再度 install/update コマンドを試してみる。

(旧) 解決方法

  1. ルート証明書をダウンロードしてくる。
  2. 次のコマンドでデフォルトの証明書の位置を調べる。
    ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE"
  3. 指定されたフォルダをせっせと作る!
    自分の場合は C:/Users/Justin/Projects/knap-build/var/knapsack/software/x64-windows/openssl/1.0.1l/ssl/cert.pem と表示された。
  4. 作ったフォルダに1でダウンロードしたファイルを cert.pem というファイル名で設置する。
  5. 再度 install/update コマンドを試してみる。

いろいろ調べてみたけど

「gem のインストールフォルダに新しい証明書を置けば直る」とか、「 source を http 指定にすればいい」とか、「証明書を持っている gem をインストールすればいい」とか(そもそもインストールコマンドが動かない)、いろいろ出てきたので、片っ端から試してみたけど全てダメ。
最終的にたどり着いたのがデフォルトで参照する証明書の場所を探して、そのフォルダやファイルを用意するという、なんともやるせない解決方法だった。

参考文献

WindowsのRubyでHTTPSのアクセスが落ちるのを回避する

1
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?