【初心者の備忘録】rbenvとRuby3.2のインストールについて

備忘録として記載しています。

Rubyは（というかプログラミングはほぼ）初心者で、四苦八苦しながらインストールしています。

聞き慣れない「rbenv」とは何かまとめます。

# rbenvとは

[こちら](https://valed.press/programming-learning/how-to-install-ruby-with-rbenv/#:~:text=rbenv%E3%81%A8%E3%81%AFruby%E3%81%AE,%E4%BD%BF%E3%81%84%E5%88%86%E3%81%91%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82)によると、複数のrubyのバージョンを管理するものだそうです。読みは「アールビーエンブ」で良さそうです。
別に複数のバージョンを管理したいわけでないですが、一般的なもののようなので、こちらを使います。

# rbenvにてインストールできるRubyのバージョン確認

恒例クリスマスにリリースされたRuby３.2をrbenvを使ってインストールしてみる。

PCはMac OSです。
まずはターミナルを開いて、今入っているRubyのバージョンを確認します。

```ruby:ターミナルにて
$ ruby -v
```
```ruby:実行結果
ruby 3.1.2p20
```


次に、何がインストールできるのか確認してみます。

```ruby:ターミナルにて
$ rbenv install --list
```

```ruby:実行結果
2.6.10
2.7.6
3.0.4
3.1.2
jruby-9.3.4.0
mruby-3.0.0
rbx-5.0
truffleruby-22.1.0
truffleruby+graalvm-22.1.0
```

ruby3.2が出てこない。

rubyバージョンが最新出ない時に更新するコマンドを実行。

```ruby:ターミナルにて
% brew upgrade rbenv ruby-build
```

そしてもう一度、

```ruby:ターミナルにて
$ rbenv install --list
```

```ruby:実行結果
2.7.7
3.0.5
3.1.3
3.2.0
jruby-9.4.0.0
mruby-3.1.0
picoruby-3.0.0
truffleruby-22.3.1
truffleruby+graalvm-22.3.1
```

Ruby3.2がインストールできることになりました。

mrubyの最新版やpicorubyもインストールできるようになりました。


# Ruby3.2のインストール


```ruby:ターミナルにて
$ rbenv install 3.2.0
```

```ruby:実行結果
BUILD FAILED (macOS 11.6.5 using ruby-build 20230202)

Inspect or clean up the working tree at /var/folders/38/x3bf_0nd3_qgj57w8hb1nnhc0000gn/T/ruby-build.20230205151544.6181.XnNaEL
Results logged to /var/folders/38/x3bf_0nd3_qgj57w8hb1nnhc0000gn/T/ruby-build.20230205151544.6181.log

Last 10 log lines:
	Check ext/psych/mkmf.log for more details.
*** Fix the problems, then remove these directories and try again if you want.
Generating RDoc documentation
/private/var/folders/38/x3bf_0nd3_qgj57w8hb1nnhc0000gn/T/ruby-build.20230205151544.6181.XnNaEL/ruby-3.2.0/lib/yaml.rb:3: warning: It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
uh-oh! RDoc had a problem:
cannot load such file -- psych
```
インストール失敗しました。

エラー内容を見てみると、
```ruby:エラー内容
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
```

```ruby:翻訳
Ruby　installationに psych (YAML 出力用) がないようです。
この警告を解消するには、libyaml をインストールしてから Ruby を再インストールしてください。
```

みたいなことが書いてあるので、libyaml なるものをインストールしてみる。

[公式](https://www.ruby-lang.org/ja/news/2022/12/25/ruby-3-2-0-released/)を見てみると、
```ruby:　引用
3rd パーティライブラリのソースコード同梱廃止
libyaml や libffi のような 3rd パーティのライブラリのソースコードの同梱を廃止しました

Psych に同梱していた libyaml のソースコードは削除されました。ユーザーは自身で
Ubuntu や Debian プラットフォームなら libyaml-dev パッケージをインストールする
必要があります。このパッケージ名称はプラットフォームごとに異なります。
```
とあります。

とうことで、適当にコマンドを調べてみて、

```ruby:ターミナルにて
% brew install libyaml
```

そしてもう一度、
```ruby:ターミナルにて
$ rbenv install 3.2.0
```

無事にインストールできたようです。

```ruby:実行結果
Installed ruby-3.2.0 to /Users/○○/.rbenv/versions/3.2.0
```


# 結果

```ruby:ターミナルにて
$ ruby -v
```

```ruby:実行結果
ruby 3.1.2p20
```

まだ切り替えられていないようです。


```ruby:ターミナルにて
$ rbenv global 3.2.0
```

そして、

```ruby:ターミナルにて
$ ruby -v
```

```ruby:実行結果
ruby 3.2.0 (2022-12-25 revision a528908271) 
```

ようやく最新版が使えるようになりました。

ここまで記事を書きながら１時間くらいかかりました。