rbenvからRubyの最新のバージョンをインストールできなかったときやったこと
rbenvでRubyの最新版をインストールできない!
環境構築系のエラーに慣れてなさすぎて遠回りしてしまったので、自戒をこめてメモ。
今回私の環境には、Rubyの5.3が入っていて比較的新しかったのですが、rbenvでバージョン管理したい!そして最新版使いたい!ということで、こちらの手順に従って作業を進めていました。
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]
終了です!エラーメッセージちゃんと読もう。。。
Author And Source
この問題について(rbenvからRubyの最新のバージョンをインストールできなかったときやったこと), 我々は、より多くの情報をここで見つけました https://qiita.com/makimoch/items/65da3ca353c53b3d9dd4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .