rbenvからRubyの最新のバージョンをインストールできなかったときやったこと


rbenvでRubyの最新版をインストールできない!

環境構築系のエラーに慣れてなさすぎて遠回りしてしまったので、自戒をこめてメモ。

今回私の環境には、Rubyの5.3が入っていて比較的新しかったのですが、rbenvでバージョン管理したい!そして最新版使いたい!ということで、こちらの手順に従って作業を進めていました。

Rails Girls さんのとても親切なサイト

Homebrew のインストールは終わっていたので、rbenvのインストールから作業をはじめました。rbenvのインストールはつつがなく終わり、あとは任意のRubyのバージョンを指定してインストールしてあげればOK。。。と思いきや、何かがおかしい。

$ rbenv install 2.6.3
  ruby-build: definition not found: 2.6.1

エラー吐かれたので、インストール可能なリストをよく見てみると、、、

$ rbenv install -l
Available versions:
  ...
  2.4.4
  2.4.5
  2.5.0-dev
  2.5.0-preview1
  2.5.0-rc1
  2.5.0
  2.5.1
  2.5.2
  2.5.3
  2.6.0-dev
  2.6.0-preview1
  2.6.0-preview2
  2.6.0-preview3  // ->2.6.3がない!!
  jruby-1.5.6
  jruby-1.6.3
  ...

なぜかインストール可能なバージョンが古い。(記事の作成時点での最新は2.6.3)
で、ちょっとググって答えはすぐ見つかったのですが、ググるまでもなかった。

解決策は書いてあった!

実は先ほどのインストール失敗のところで、解決策が書いてあったのです。反省。

$ rbenv install 2.6.3
  ruby-build: definition not found: 2.6.1

  See all available versions with `rbenv install --list'.
  If the version you need is missing, try upgrading ruby-build:
  cd /Users/user名/.anyenv/envs/rbenv/plugins/ruby-build && git pull && cd -
 // ↑ここに書いてありました

もし欲しいバージョンがリストになかったら、ruby-buildのバージョンを上げてね、と。
そしてコマンドまで書いてくれている親切ぶり。なぜ見落としたのか。。。
ということで指示に従ってコマンドポチポチ。

$ cd /Users/user名/.anyenv/envs/rbenv/plugins/ruby-build
$ git pull
$ rbenv install -l 
  Available versions:
  ...
  2.5.4
  2.5.5
  2.6.0-dev
  2.6.0-preview1
  2.6.0-preview2
  2.6.0-preview3
  2.6.0-rc1
  2.6.0-rc2
  2.6.0
  2.6.1
  2.6.2
  2.6.3  // ->最新がリストにありました!!
  2.7.0-dev
  2.7.0-preview1
  jruby-1.5.6
  jruby-1.6.3
  ...

あとは最新の2.6.3をインストールして、切り替えるだけ!

$ rbenv install 2.6.3

$ rbenv versions 
  system
* 2.5.1 (set by /Users/maki_m/.anyenv/envs/rbenv/version)
  2.6.3

$ rbenv global 2.6.3

$ ruby -v                                                                   
  ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]

終了です!エラーメッセージちゃんと読もう。。。