RubyとRailsのバージョン確認方法:gem・bundler・rbenv・miseコマンド一覧

スポンサーリンク

RubyとRailsのバージョン確認方法:gem・bundler・rbenv・miseコマンド一覧

はじめに

Rubyプロジェクトを始めるとき、既存のプロジェクトに参加するとき、エラーが起きたとき、まず確認するのがRubyとRailsのバージョンです。

この記事では rubyrailsgembundler のバージョン確認コマンドをまとめて解説します。


Rubyのバージョンを確認する

ruby -v
# または
ruby --version
ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [arm64-darwin23]

Railsのバージョンを確認する

グローバルにインストールされたRailsを確認する

rails -v
# または
rails --version
Rails 7.1.3

プロジェクトで使われているRailsを確認する

bundle exec rails -v

bundle exec を使うとグローバルではなく、そのプロジェクトの Gemfile.lock に記載されたバージョンで実行します。プロジェクト内では bundle exec rails を使うのが基本です。


gemのバージョンを確認する

gem はRubyのパッケージ管理コマンドです。

gem -v
# または
gem --version
3.5.3

特定のgemがインストールされているか確認する

gem list rails
rails (7.1.3, 7.0.8)

複数バージョンがインストールされている場合はすべて表示されます。


bundlerのバージョンを確認する

bundlerはプロジェクトごとにgemのバージョンを管理するツールです。

bundle -v
# または
bundler -v
Bundler version 2.5.3

プロジェクトで使われているgemのバージョンを確認する

bundle list

Gemfile.lock に記載された全gemとバージョンが表示されます。特定のgemだけ確認したい場合は以下のようにgrepと組み合わせます。

bundle list | grep rails
  * rails (7.1.3)

グローバルとプロジェクトの優先順位

rails コマンドを実行したとき、グローバルとプロジェクトのどちらが使われるかは状況によって異なります。

実行方法 使われるrails
rails グローバル
bundle exec rails プロジェクトのGemfile.lockに従う

プロジェクト内では必ず bundle exec rails を使うことで、環境の違いによるバージョン不一致を防げます。


.ruby-versionでプロジェクトのRubyバージョンを確認する

プロジェクトのルートに .ruby-version ファイルがある場合、そこに使用するRubyバージョンが記載されています。

cat .ruby-version
3.3.0

rbenvやmiseなどのバージョン管理ツールを使っている場合、このファイルを元に自動でRubyバージョンが切り替わります。


バージョンが食い違うときのトラブルシューティング

rails -vbundle exec rails -v の結果が違う

グローバルとプロジェクトで別バージョンのRailsが入っています。プロジェクト内では bundle exec rails を使うことで解決します。

ruby: command not found が出る

Rubyがインストールされていないか、PATHが通っていません。rbenvやmiseでインストールした場合はシェルの設定ファイルにパスが追加されているか確認してください。

echo $PATH

bundle: command not found が出る

bundlerがインストールされていません。以下でインストールできます。

gem install bundler

まとめ

確認したいもの コマンド
Rubyのバージョン ruby -v
Railsのバージョン(グローバル) rails -v
Railsのバージョン(プロジェクト) bundle exec rails -v
gemのバージョン gem -v
bundlerのバージョン bundle -v
プロジェクトの特定gem bundle list | grep gem名