備忘録として記載しています。
Rubyは(というかプログラミングはほぼ)初心者で、四苦八苦しながらインストールしています。
聞き慣れない「rbenv」とは何かまとめます。
rbenvとは
こちらによると、複数のrubyのバージョンを管理するものだそうです。読みは「アールビーエンブ」で良さそうです。
別に複数のバージョンを管理したいわけでないですが、一般的なもののようなので、こちらを使います。
rbenvにてインストールできるRubyのバージョン確認
恒例クリスマスにリリースされたRuby3.2をrbenvを使ってインストールしてみる。
PCはMac OSです。
まずはターミナルを開いて、今入っているRubyのバージョンを確認します。
$ ruby -v
ruby 3.1.2p20
次に、何がインストールできるのか確認してみます。
$ rbenv install --list
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バージョンが最新出ない時に更新するコマンドを実行。
% brew upgrade rbenv ruby-build
そしてもう一度、
$ rbenv install --list
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のインストール
$ rbenv install 3.2.0
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
インストール失敗しました。
エラー内容を見てみると、
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
Ruby installationに psych (YAML 出力用) がないようです。
この警告を解消するには、libyaml をインストールしてから Ruby を再インストールしてください。
みたいなことが書いてあるので、libyaml なるものをインストールしてみる。
公式を見てみると、
3rd パーティライブラリのソースコード同梱廃止
libyaml や libffi のような 3rd パーティのライブラリのソースコードの同梱を廃止しました
Psych に同梱していた libyaml のソースコードは削除されました。ユーザーは自身で
Ubuntu や Debian プラットフォームなら libyaml-dev パッケージをインストールする
必要があります。このパッケージ名称はプラットフォームごとに異なります。
とあります。
とうことで、適当にコマンドを調べてみて、
% brew install libyaml
そしてもう一度、
$ rbenv install 3.2.0
無事にインストールできたようです。
Installed ruby-3.2.0 to /Users/○○/.rbenv/versions/3.2.0
結果
$ ruby -v
ruby 3.1.2p20
まだ切り替えられていないようです。
$ rbenv global 3.2.0
そして、
$ ruby -v
ruby 3.2.0 (2022-12-25 revision a528908271)
ようやく最新版が使えるようになりました。
ここまで記事を書きながら1時間くらいかかりました。