💎

devboxでruby3.2.0の環境を作成する。

2023/01/21に公開

記事の目的

railsをdevbox環境でセットアップするために現在(2023/01/21)時点でのrubyの最新の安定版を利用できるようにすることです。
https://www.jetpack.io/devbox/

やる理由

devboxで利用できる作成済みのパッケージに目的のバージョンが存在しなかったため。

内容

devboxをdevcontainerで起動

この部分では以下の記事を参考にしています。
https://dev.classmethod.jp/articles/devbox-node-development/

  1. devbox のインストール
curl -fsSL https://get.jetpack.io/devbox | bash
  1. devbox のセットアップ
devbox init
  1. devcontainer で起動
devbox generate devcontainer

vscodeでReopen in Containerを選択し、devcontainerで起動

rubyのセットアップ

  1. 必要なパッケージをインストール
devbox add rbenv openssl libyaml zlib

これらのようなパッケージは NixOS Search から検索することができます。

以降の作業はshell内で行います。

devbox shell
  1. rbenv install -lを利用できるようにする
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
  1. rubyをインストールする
RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/local/$(devbox info openssl)" rbenv install 3.2.0
  1. rubyのバージョン確認用のコマンドを定義する
touch ~/.bashrc
echo 'PATH=$PATH:$HOME/bin:/home/devbox/.rbenv/versions/3.2.0/bin' >> ~/.bashrc
source ~/.bashrc
  1. 確認
ruby -v

以上でrubyの環境のセットアップは終了です。ローカルでのセットアップと変わらないですね笑

スクリプトを利用した簡易セットアップ

devbox add rbenv openssl libyaml zlib
devbox shell
setup-ruby.sh
source ~/.bashrc
setup-ruby.sh
#!/bin/bash

# このコマンドは devbox shell の内部で利用する必要があります

# このコマンドを実行する前に以下を実行しておく必要があります
# devbox add rbenv openssl libyaml zlib

# このコマンドを実行した後に以下のコマンドでrubyのバージョン確認を行えます
# source ~/.bashrc
# ruby -v

# rbenv install -l を実行できるようにするために ruby-buildをインストール
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

# ruby コマンドを利用できるようにするために .bashrc へ追記する
touch ~/.bashrc
echo 'PATH=$PATH:$HOME/bin:/home/devbox/.rbenv/versions/3.2.0/bin' >> ~/.bashrc

# devbox add openssl で追加した openssl を利用して ruby 3.2.0 をインストールをする
RUBY_CONFIGURE_OPTS="--with-openssl-dir=/usr/local/$(devbox info openssl)" rbenv install 3.2.0

感想

devboxを利用することでローカル環境を汚さずに作業できるようになるのはやはり良いですね!
rbenvなどのパッケージも用意してあるので任意の環境をカスタムして作成することもできるのは嬉しい!
devcontainerを利用することで下手にローカル環境のコマンドを利用できなくできるのも嬉しい!

Discussion