rbenvでruby2.3.0をインストールしようとしたらハマった。
未開の地だったSQL文に慣れ始めた今日この頃です。 Ruby on Railsな環境の構築とか、運用のところにも首を突っ込めるようにと思って、仮想環境に環境作り始めましたが、rubyのインストールで躓きました。まさか…。
rubyのインストール方法はなんだかいろいろあるようですが、rbenvを使うのがバージョンをいろいろ同居させて、切り替えて使うのに便利らしいので、rbenvを使って入れてみることにしました。rbenvのインストールやら、関連するもろもろのインストールやらは、いくらかのサイトを見比べながら進めたら、サクサクと進みました。
が……、さて、rbenvでruby2.3.0をインストールしてやるぜ!と意気込んで、
[root@www-test ~]# rbenv install 2.3.0
Downloading ruby-2.3.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2
error: failed to download ruby-2.3.0.tar.bz2
BUILD FAILED (CentOS release 6.7 (Final) using ruby-build 20151230)
ってなって、全然できない…
Google先生も微妙な回答しかしてくれないので、とりあえず、"https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2"をwgetしてみたら…。
[root@www-test ~]# wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2
--2015-12-23 16:02:37-- https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2
Resolving cache.ruby-lang.org... 103.245.222.233
Connecting to cache.ruby-lang.org|103.245.222.233|:443... connected.
ERROR: cannot verify cache.ruby-lang.org’s certificate, issued by “/C=BE/O=GlobalSign nv-sa/CN=GlobalSign CloudSSL CA - SHA256 - G3”:
Issued certificate not yet valid.
To connect to cache.ruby-lang.org insecurely, use ‘--no-check-certificate’.
んだとっ!wgetでもダウンロードできないだと…。となりました。 この状態で、しばらくいろいろGoogle先生に尋ね続けるもなかなか打開策が見つからない……
ERRORに続く部分とか、rbenvとかwget、httpsとかで尋ねても、それらしい答えが見つからず……モヤモヤ。
が、なんかひときわ目立っている気がする"Issued certificate not yet valid."で探してみるとこんなものが見つかりました。
なにやら、お前のPCの時計はあってるのか?というようなことを指摘されているようですので、そんな馬鹿なと思いながらも確認してみると…。
[root@www-test ~]# date
Wed Dec 23 16:03:16 JST 2015
なんじゃこりゃ!盛大にくるっている。今は2016年だぞ!お前はまだ年越ししてないのか!って状態です。そういえば、Virtualマシンを保存状態で停止してから、年明けて起動したの今日が初めてだったかも……
ntp動いてたら勝手に合うだろうにと思ったら、ntpd起動してなかったです。
[root@www-test ~]# service ntpd start
Starting ntpd: [ OK ]
[root@www-test ~]# ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+next.kkyy.me 133.243.238.243 2 u - 64 1 55.901 -0.165 0.000
-routerida1.sopr 133.243.238.242 2 u - 64 1 69.096 -3.427 2.625
*108.61.223.189. 10.84.87.146 2 u - 64 1 55.360 -0.898 0.000
+secure.opticner 118.143.17.82 2 u - 64 1 63.623 1.371 0.443
[root@www-test ~]# date
Tue Jan 5 12:34:36 JST 2016
はい。ちゃんとあいました。 ここで意気揚々と、もう一度rbenvでruby2.3.0をインストール!
[root@www-test etc]# rbenv install 2.3.0
Downloading ruby-2.3.0.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2
Installing ruby-2.3.0...
Installed ruby-2.3.0 to /usr/local/rbenv/versions/2.3.0
できた!その後Railsとかもうまく入って、無事環境を作れました。まさか時間ずれが影響するとは……
実は、最初のエラーメッセージの中にもヒントはあって、
--2015-12-23 16:02:37-- https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.0.tar.bz2
ってrbenv install 2.3.0
の実行結果の2行目にあります。明らかに時間が変。
それから、
Issued certificate not yet valid.
って冷静に読めば、「まだ証明書が有効じゃないぜ」って言ってる気がしますね。実は、証明書が変なのかとは思って、ブラウザで、https://cache.ruby-lang.org/pub/ruby/2.3/
にアクセスして、証明書の情報を見てみたりはしましたが、普通に大丈夫そうだってなって終わったんですが…。
さっきもう一度見てみたら、なんと具合の悪いことに、証明書の有効期限の開始日が2016/1/4になってました。そりゃ、2015年に暮らしていた斉藤のVirtualマシン上では、有効でないといわれても仕方がない。
ということで、今回の教訓。
- エラーメッセージの英文は冷静に読みましょう
- 時間合わせはお忘れなく!