LoginSignup
5
5

More than 1 year has passed since last update.

rbenvでRubyのバージョンアップを行う

Last updated at Posted at 2019-08-22

rbenvとは

rbenvとは、複数のRubyのバージョンをOSの中で共存させて、必要に応じてRubyの環境を切り替えられるツールです。自分の環境にrbenvが入っていなかったら、git cloneでGitHubからインストールします。apt ではインストールできないようです。

公式サイト https://github.com/rbenv/rbenv

rbenvのバージョンを上げる

rbenvコマンド自体のバージョンが古いと、最新のRubyがインストールできない事があります。(正確にはruby-buildのバージョンが影響している)その場合は、rbenvコマンド自体のバージョンを上げないといけない事になります。

現状のrbenvのバージョンでインストール可能なRubyのバージョンの一覧が表示されます。一覧の中に、インストールしたいバージョンが含まれていなければ、rbenvコマンドのバージョンを上げる事になります。
rbenv install -l

rbenvのバージョンアップの前に、現状のrbenvのバージョンを確認しておきましょう。
rbenv -v

rbenvのバージョンを上げるには、先ず、rbenvが入っているディレクトリに移動します。自分の環境(Ubuntu)では、/usr/local/rbenvでした。
cd /usr/local/rbenv
git pull

確かに、バージョンが上った事を確認します。
rbenv -v

rbenvだけでなく、ruby-buildもバージョンアップしないといけない事になります。
cd /usr/local/rbenv/plugins/ruby-build
git pull

これで、最新のRubyのバージョンが表示される筈です。
rbenb install -l

最新のRubyのバージョンをインストールする

現状インストールされているRubyのバージョン一覧を表示します。*がついているバージョンが、現状、有効になっているRubyのバージョンという事になります。systemが表示されれば、OSにプレインストールされていたrubyのバージョンがsystemに該当します。
rbenv versions

systemが実際に何のバージョンであるかを調べたい場合は、適当なディレクトリに移動した後、これで確認できます。
rbenv local system
cat .ruby-version

.ruby-versionファイルは、確認のために、一時的に作成しただけなので、確認が終わったら削除しておいて下さい。
rbenv local --unset

.ruby-versionが本当に削除された事を確認しておく。一番したに表示されていなければOK。
ls -latr

今回は、2.3.0のバージョンのRubyをインストールします。(この間が多少長いので、しばし、休憩 :smiley:
rbenv install -v 2.3.0

インストールしたRubyが表示される事を確認します。
rbenv versions

グローバル環境で、Rubyのバージョンを変更する

蛇足ではあるが、グローバル環境のバージョンを確認する方法は4つあります。
cat /usr/local/rbenv/version --- たぶん、使わないと思われる
rbenv versions --- 他バージョンも表示してくれるので便利
rbenv version --- グローバル環境1つだけを表示
ruby -v --- ローカル環境を指定していない事が条件ではある

グローバル環境を2.3.0に変更します。バージョンをきっちりと入力しなくても、Tabキーで補完入力ができます。
rbenv global 2.3.0

グローバル環境が確かに変更された事を確認します。
rbenv versions

この時点で自作したRubyのプログラムを流しても、グロバール環境にインストールしたgemを使っている場合、最新バージョンの環境ではgemが未だインストールされていないため、エラーになります。なので、最新バージョンの環境で、グローバル環境に必要なgemを1個つづインストールする必要があります。

元の環境に戻したい場合は、元のバージョンを指定すれば戻ります。p247とかのパッチレベルまでしっかりと指定しないといけません。
rbenv global 2.0.0p247

旧バージョンでグローバル環境にインストールしていたgemの一覧を保存しておきます。
gem list > gem_list_2.0.0.txt

もう一度、グローバル環境を最新バージョンに変更します。
rbenv global 2.3.0

旧バージョンのgemのlistを基に、必要なgemをインストールします。バージョン指定が必要な場合は、指定します。
gem install gem名 -v 0.0.0

自作したRubyのプログラムを動かしてみて、動作に問題がなければ、旧バージョンのRubyは削除しておきます。インストールにはあれだけ長い時間がかかった割りには、削除は一瞬だったりする。
rbenv uninstall 2.0.0p247

旧バージョンのRubyが削除された事を確認します。
rbenv versions

Rubyの開発環境を最新にしてみよう(補足)

現在の開発環境のRubyのバージョンを確認する。

rbenv versions
* 2.5.1 (set by /home/vagrant/.rbenv/version)

現在のRubyの最新バージョンを確認する。現時点では、2.6.3が最新なので、このバージョンをインストールする事にする。

rbenv install -l

2.6.3のバージョンをインストールする。結構時間がかかります。

rbenv install -v 2.6.3

2.6.3がインストールされた事を確認する。

rbenv versions
* 2.5.1 (set by /home/vagrant/.rbenv/version)
  2.6.3

グローバル環境を、2.5.1→2.6.3に変更します。

rbenv global 2.6.3

グローバル環境が2.6.3になった事を確認する。

rbenv versions
  2.5.1
* 2.6.3 (set by /home/vagrant/.rbenv/version)

Rubyのバージョンを確認して、確かに変わった。

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

C'est fini :sweat_smile:

補足

rbenvのインストール方法と、rbenvを使ったRubyのインストール方法については、TechPitに学習教材があります。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5