{::options enable_coderay=“false”/}
{:.smaller}
例えば以下のような、rubygems のリポジトリと通信を行う gem コマンド を起動すると、
gem install
:: あるいは
gem update --system
{:.language-command.command-line data-prompt=‘>’} 以下のようなメッセージが表示され、インストール等の作業を行わずに終了する
ERROR: Could not find a valid gem 'xxxxx' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect retur
ned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)
rubyコマンド、gemコマンドのバージョンを知る方法:
ruby -v
gem -v
{:.language-command.command-line data-prompt=‘>’}
以下で言及するバージョン番号は、2016.10月末のものであり、 時期の経過によって数字が変化することを承知されたい。
{:.wide}
rubygemsの位置関係を右図を参考に理解しておいて下さい。
{:.tiny}
{:.small}
最新版は 2.3 (chocoでは2.3.0、rubyオフィシャルサイトでは2.3.1)
Chocolateyパッケージマネージャでインストールしたものならば、 右図または下のリストのような Chocolatey(またはそれを略した)コマンドでアップデートできる。
cup ruby -y
{:.language-command.command-line data-prompt=‘>’}
{:.smaller}
基本的には、最初にインストールしたときのガイドに従えばいい。
cinst ruby -y
:: 或は既存の版があるためにエラーが出るときは
:: -f (force = ともかくインストール) オプション
:: を付加して
cinst ruby -yf
{:.language-command.command-line data-prompt=‘>’}
最新版 2.6.7 だと問題ないらしい。
RubyGemsの、通常のアップデートは
gem update --system
{:.language-command.command-line data-prompt=‘>’} で行うが、SSLに問題があればこれは動作しない。
httpsを使わず、httpでリポジトリにアクセスするという手がある。
gem update --system --source http://rubygems.org/
:: または、
gem source --add http://rubygems.org/
:: に加えて、
gem source --remove https://rubygems.org/
:: と、事前に設定しておいて
:: (この2行の設定は保存されるので後でもとに戻す必要がある)
gem update --system
{:.language-command.command-line data-prompt=‘>’}
上記の方法で、httpsでなくhttpsでアクセスした場合に
gem update が機能しないケースも報告されており
その時は、以下の方法が使えるらしい
gem install rubygems-update --source http://rubygems.org/
:: を行った上で
update_rubygems
{:.language-command.command-line data-prompt=‘>’}
(参考サイト)
RubyGemsのオフィシャルサイトにあるダウンロードページ)から、
zip版をダウンロードし、
解凍し、その解凍後のフォルダで、
コマンドプロンプトを管理者権限で開いて、
ruby setup.rb
{:.language-command.command-line data-prompt=‘>’}
ruby処理系のフォルダを見つける
where gem
{:.language-command.command-line data-prompt=‘>’} で得られるフォルダ(沢山あれば上の方にあるもの)が、たとえば
C:\ProgramData\chocolatey\ruby23\bin\gem
であれば、 bin 以下を除いた場所、ここでは
C:\ProgramData\chocolatey\ruby23
rubyのバージョンを確認
ruby -v
where gem
{:.language-command.command-line data-prompt=‘>’} の結果が、たとえば
ruby 2.3.0p0 (2015-12-25 revision 53290) [x64-mingw32]
であれば、2.3.0
置き場所:
1.のフォルダ名の下に /lib/ruby/、 2.のバージョン番号、
/rubygems/ssl_certs をつないだフォルダ、 上記の例だと、
C:\ProgramData\chocolatey\ruby23\lib\ruby\2.3.0\rubygems\ssl_certs