WindowsにSCSSのビルド環境を作るために、rubyコマンドの実行環境を作りましたが、最新版rubyインストーラー(2014.12.30 時点)でちょっと苦労したことがありました。
Windows版 rubyインストーラーを「 http://rubyinstaller.org/downloads/ 」からダウンロードして、rubyコマンドを実行できるところまで環境を作ったが、その後の「gem update --system」コマンドのところでSSLエラーが表示されてしまいました。
Windows版 rubyインストーラー
今回使用したインストーラーはこれです。
rubyinstaller-2.1.5-x64.exe
問題のSSLエラーメッセージ
こんなSSLエラーが表示されました。
gem update --system
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
原因を調べてみたら、インストーラーに含まれているSSL証明書が古いことが原因らしいです。
参考ページ) https://gist.github.com/luislavena/f064211759ee0f806c88
しかしこれ、インストーラーをビルドするときにチェックしなかったんでしょうかね。
SSLエラーを解消して、gemを最新版にする方法
とりあえず、参考ページに書いてあることを実践して、SSLエラーを解消します。
gem --version
> 2.2.2
gem which rubygems
> C:/Apps/ruby/lib/ruby/site_ruby/2.1.0/rubygems.rb
cd C:\Apps\ruby\lib\ruby\gems\2.1.0
ここから修正版RubyGemsファイルを取得する。
https://github.com/rubygems/rubygems/releases/tag/v2.2.3
緑色の[rubygems-update-2.2.3.gem]ボタンを押してダウンロードする。
そしたら下のパスへ保存する。
C:\Apps\ruby\lib\ruby\gems\2.1.0\rubygems-update-2.2.3.gem
gem install --local rubygems-update-2.2.3.gem
gem --version
> 2.2.3
update_rubygems --no-ri --no-rdoc
gem uninstall rubygems-update -x
gem which rubygems
> C:/Apps/ruby/lib/ruby/site_ruby/2.1.0/rubygems.rb
start C:/Apps/ruby/lib/ruby/site_ruby/2.1.0/rubygems.rb
以下パスのpemファイルをダウンロードする。
https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem
保存先はこちら。(自分の場合は、ssl_certsフォルダが無かったので作りました)
C:\Apps\ruby\lib\ruby\gems\2.1.0\gems\ssl_certs\AddTrustExternalCARoot-2048.pem
gem update --system
そうすると、Updating rubygems-update と表示されて無事にアップデートが始まります。
gem --version
>2.4.5
以上、無事にgemを最新版にアップデートできました。