Windows11のWSL 2(Ubuntu)上にrbenvを通したruby環境を構築する

ruby,プログラム

rubyの勉強をするためにWindows11上で実行環境を準備しました。

参考にしている書籍「プロを目指す人のためのRuby入門[改訂2版]」ではWindows環境特有のトラブルが起きにくいWSLを使うのがお勧めとあり、まずはWSL 2をセットアップ。

続けてruby環境の導入ですが、実際の開発現場ではrubyのバージョンを切り替えて使うためにrbenvRVMなどの環境切り替えツールを使うのが一般的のことなので、rbenvを導入した上で最新のrubyを導入することにしました。

以下、作業時の記録です。

Windows 11にWSL 2をインストール

参考: 【初心者向け】WSL2のインストール ~ 基本操作をまとめて解説 | Inno-Tech-Life

  • Powershellを管理者権限で起動
  • コマンドラインから wsl –install を入力
  • PC再起動
  • 自動的にUbuntuのセットアップが始まる
  • ユーザー名とパスワードを入力

git cloneを使ってrbenvをインストールする

参考 : rbenv/rbenv: Manage your app’s Ruby environment

参考: wsl2上のUbuntuにrubyの開発環境を構築する

詳細手順

git clone https://github.com/rbenv/rbenv.git ~/.rbenv           # rbenvをgit clone
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc        # rbenvにパスを通す
echo 'eval "$(~/.rbenv/bin/rbenv init - bash)"' >> ~/.bashrc    # rbenvのshellセットアップを自動化
source ~/.bashrc                                                # シェルの再読込
mkdir -p "$(rbenv root)"/plugins                                # ruby-buildのインストール
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
rbenv install 3.2.0                                             # rbenvを使ってruby 3.2.0をインストール

エラーで止まった。

$ rbenv install 3.2.0
To follow progress, use 'tail -f /tmp/ruby-build.20230101130548.13809.log' or pass --verbose
Downloading ruby-3.2.0.tar.gz...
-> https://cache.ruby-lang.org/pub/ruby/3.2/ruby-3.2.0.tar.gz
Installing ruby-3.2.0...

BUILD FAILED (Ubuntu 22.04 using ruby-build 20221225-9-g697bcff)

Inspect or clean up the working tree at /tmp/ruby-build.20230101130548.13809.Ex1NYK
Results logged to /tmp/ruby-build.20230101130548.13809.log

Last 10 log lines:
*** Fix the problems, then remove these directories and try again if you want.
make[1]: Leaving directory '/tmp/ruby-build.20230101130548.13809.Ex1NYK/ruby-3.2.0'
Generating RDoc documentation
/tmp/ruby-build.20230101130548.13809.Ex1NYK/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

run with --debug for full backtrace
make: *** [uncommon.mk:598: rdoc] Error 1

“please install libyaml and reinstall your ruby." との事なのでlibyaml がない?aptで追加してみる。

sudo apt install libyaml-dev

インストールできたようだ。

$ rbenv install 3.2.0
$ rbenv global 3.2.0
$ rbenv version
3.2.0 (set by /home/hideto/.rbenv/version)

そんなワケで本格的にrubyの勉強を始めて行きます。