1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

今後のためのRuby バージョン変更の、備忘録

Posted at

はじめに

ごあいさつ

みなさんこんにちは。
今回は、Ruby のバージョン 4.0.0 が正式にリリースされたということで、バージョン変更をするための備忘録をここで書かせてもらいます。

Ruby 4.0.0 Released

今回の変更内容については紹介しませんので、こちらをご覧ください。

私の現状

私は、大学の課外活動でRuby をつかったプロダクトの運用・保守をしており、あまり良くないこともわかってはいる一方で、RUbyのバージョン対応をすることができておらず、 3.2.2 を使っています。

そこに、新機能が実装された 4.0.0 がリリースされたことで、私個人として新たな機能を使ってみようと思い、 4.0.0 をローカル環境に取り入れることとしました。

4.0.0 を入れてみる

端末の状況

なお、私の環境は以下のようになっています。

# ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]

# rbenv -v
rbenv 1.1.2

# rbenv versions
  system
* 3.2.2 (set by /home/user/.rbenv/version)

インストール可能かどうかを確認

まず、リリースされた 4.0.0 のインストールが不可能だったら、元も子もありません。ということで、いちど一覧を出してみましょう。

rbenv install -l

すると、ここに多くのバージョンが出てくると思います。

ここに、インストールしたいバージョンが出てきていれば、インストール まで飛ばしてもらって大丈夫です。

バージョンが見当たらなかった

インストールしたいバージョンが見当たらないこと、そんなこともあります。実際に私はありませんでした。

以下が、今回出たエラー文です。


user@Stapler:~$ rbenv install 4.0.0
ruby-build: definition not found: 4.0.0

The following versions contain `4.0.0' in the name:
  jruby-9.4.0.0
  truffleruby-24.0.0
  truffleruby+graalvm-24.0.0

See all available versions with `rbenv install --list'.

If the version you need is missing, try upgrading ruby-build.

※これ以降は今回の原因のみに対応した記事になっています。

原因

今回は、ruby-build 側がまだRuby 4.0.0 を認識していない状態になっていることで起こったものとなっており、対処法はいたって簡単なものになっています。

今起こっていること

rbenv install -l | grep 4.0
# ここで、 Ruby 4.0.0 が出てこなかった

その結果

rbenv install 4.0.0
# definition not found

となってしまう。

原因

ruby-build が古いこと。

rbenv install が参照する先の定義ファイルは ruby-build になっており、直近にリリースされた Ruby 4.0.0 はまだこちらに反映されていませんでした。

解決方法

ruby-build の更新

こちらは必須。

cd ~/.rbenv/plugins/ruby-build
git pull

念のため rbenv も更新

こちらは任意(推奨)。

cd ~./rbenv
git pull

再度確認

rbenv install -l | grep '^4\.'
# '^4\.' は正規表現

ここで、 4.0.0 が表示されれば成功です。

これでも出ない場合は、もうすこし待ってみるのもいいことだと思います。

該当バージョンのインストール

rbenv install 4.0.0

インストール確認

# rbenv versions

  system
* 3.2.2 (set by /home/user/.rbenv/version)
  4.0.0

ただし、まだこのように変更をしていないため、"自身が反映させたいプロジェクト(リポジトリ)に移動してから"、以下のコマンドを打ってください。

# このバージョンを長期的(中心)に使いたいとき
rbenv global 4.0.0

# 限定的な範囲で使いたい、あるいは中心プロダクトとの切り替えを多くする
rbenv local 4.0.0

バージョンを戻すとき

Ruby 4 をやめたいときは

rm .ruby-versions
# or
rbenv local 3.2.2 # 自分の変更したいバージョンに設定

最後に

rbenv local ~~

を使うのであれば、毎回

ruby -v

をしておくといいかもしれないです。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?