Rubyのバージョン管理:rbenv・miseの使い方と切り替え方法

スポンサーリンク

Rubyのバージョン管理:rbenv・miseの使い方と切り替え方法

はじめに

Rubyを使っていると、こんな場面が出てきます。

  • プロジェクトAはRuby 3.1、プロジェクトBはRuby 3.3を使っている
  • チームの誰かの環境だけ動かない
  • 新しいRubyを試したいが、今の環境を壊したくない

バージョン管理ツールを使えば、プロジェクトごとにRubyのバージョンを自動で切り替えられます。この記事ではよく使われる rbenv と、最近人気の mise の使い方を解説します。


rbenvとmiseの違い

rbenv mise
特徴 Ruby専用のバージョン管理ツール Ruby以外の言語も管理できる
歴史 長く、情報が豊富 比較的新しい(旧rtx)
対応言語 Ruby Ruby、Node.js、Python、Goなど
設定ファイル .ruby-version .mise.toml または .ruby-version

単一言語なら rbenv、複数言語を一元管理したいなら mise がおすすめです。


rbenvを使う

インストール

Mac(Homebrew)

brew install rbenv ruby-build

シェルの設定ファイルに以下を追加します。

# ~/.zshrc
eval "$(rbenv init - zsh)"

設定を反映します。

source ~/.zshrc

インストール確認

rbenv --version
rbenv 1.3.0

Rubyをインストールする

インストール可能なバージョンを確認します。

rbenv install --list

特定のバージョンをインストールします。

rbenv install 3.3.0

バージョンを切り替える

グローバル(デフォルト)のバージョンを設定する

rbenv global 3.3.0

プロジェクト単位でバージョンを設定する

プロジェクトのディレクトリで以下を実行します。

rbenv local 3.3.0

.ruby-version ファイルが作成され、そのディレクトリ以下では自動的に指定したバージョンが使われます。

cat .ruby-version
# 3.3.0

現在のバージョンを確認する

rbenv version
3.3.0 (set by /path/to/project/.ruby-version)

miseを使う

インストール

Mac(Homebrew)

brew install mise

シェルの設定ファイルに以下を追加します。

# ~/.zshrc
eval "$(mise activate zsh)"

設定を反映します。

source ~/.zshrc

インストール確認

mise --version

Rubyをインストールする

インストール可能なバージョンを確認します。

mise ls-remote ruby

特定のバージョンをインストールします。

mise install ruby@3.3.0

バージョンを切り替える

グローバルのバージョンを設定する

mise use --global ruby@3.3.0

プロジェクト単位でバージョンを設定する

プロジェクトのディレクトリで以下を実行します。

mise use ruby@3.3.0

.mise.toml ファイルが作成されます。

[tools]
ruby = "3.3.0"

miseは .ruby-version ファイルも読み込むため、rbenvで管理されていたプロジェクトでもそのまま使えます。

現在のバージョンを確認する

mise current ruby
ruby  3.3.0

プロジェクトに参加したときの流れ

rbenvまたはmiseを使っているプロジェクトをクローンした場合、.ruby-version または .mise.toml に記載されたバージョンが必要です。

# クローン後
git clone https://github.com/example/project
cd project

# .ruby-versionを確認
cat .ruby-version
# 3.2.2

# 該当バージョンをインストール(rbenvの場合)
rbenv install 3.2.2

# または mise の場合
mise install

mise install は設定ファイルを読んで必要なバージョンを自動でインストールしてくれます。


まとめ

操作 rbenv mise
インストール brew install rbenv ruby-build brew install mise
Rubyインストール rbenv install 3.3.0 mise install ruby@3.3.0
グローバル設定 rbenv global 3.3.0 mise use --global ruby@3.3.0
プロジェクト設定 rbenv local 3.3.0 mise use ruby@3.3.0
現在のバージョン確認 rbenv version mise current ruby