【初心者向け】gemのバージョンを確認する方法|インストール済みRubyGemsの管理に便利!

Ruby

Rubyでアプリケーションを開発していると、必ず使うのが gem(RubyGems) です。

gemはRubyのライブラリやツールを管理する仕組みで、たとえば「rails」や「bundler」もgemのひとつです。

ただ、複数のgemを使っていると次のような疑問が出てきます:

  • 「このgem、今どのバージョンが入ってるの?」
  • 「複数バージョンあるけど、どれが使われてるの?」
  • 「gemのバージョン違いで動かない!」

そんなときに必要なのが gemのバージョン確認コマンドです。

この記事では、gemのバージョンを確認する方法を初心者向けにわかりやすく解説します!

スポンサーリンク

gemコマンドとは?

gem は、Rubyに標準で搭載されているパッケージ管理コマンドです。

Rubyのライブラリやアプリケーションを簡単にインストール・管理できます。

基本の構文

gem [コマンド] [オプション]

gem自体のバージョンを確認したいとき

まずは、使用しているRubyGemsのバージョンを確認しましょう:

gem --version

出力例

3.4.10

このバージョンは、RubyGems(gem管理システム)自体のバージョンです。

これはRubyのバージョンとは別物なので注意してください。

RubyGemsは定期的に更新されるので、最新版に更新することもできます:

gem update --system

インストール済みのgem一覧とバージョンを確認する

システムにインストールされているすべてのgemとそのバージョンを確認するには:

gem list

出力例

*** LOCAL GEMS ***

bundler (2.4.22)
rake (13.0.6)
rails (7.1.3, 6.1.7.6)
webrick (1.8.1)
...
  • 複数のバージョンがある場合はカンマ区切りで表示されます
  • 通常、一番左に表示されているバージョンが最新で、デフォルトで使用されます
  • 出力が多すぎる場合は、gem list | less とすると画面単位で表示できます

特定のgemのバージョンだけ知りたいとき

特定のgemに関する情報だけを表示するには:

gem list gem名

例:

gem list rails

出力:

*** LOCAL GEMS ***

rails (7.1.3, 6.1.7.6)

部分一致での検索

名前の一部だけでも検索できます:

gem list -a active

これで「active」を含むすべてのgem(activerecord, activesupportなど)が表示されます。

より詳しい情報を取得する

gemの詳細情報を表示

gem info rails

出力例:

*** LOCAL GEMS ***

rails (7.1.3, 6.1.7.6)
    Author: David Heinemeier Hansson
    Homepage: https://rubyonrails.org
    License: MIT
    Installed at (7.1.3): /usr/local/lib/ruby/gems/3.2.0/gems/rails-7.1.3
                 (6.1.7.6): /usr/local/lib/ruby/gems/3.2.0/gems/rails-6.1.7.6
    
    Ruby on Rails is a full-stack web framework optimized for programmer happiness
    and sustainable productivity. It encourages beautiful code by favoring
    convention over configuration.

依存関係も含めて表示

gem dependency rails

これで、railsが依存している他のgemも表示されます。

実行中のバージョンをプログラム内で確認する方法

Rubyスクリプト内でgemのバージョンを確認する方法もあります:

Rubyスクリプト内で確認

require 'rails'
puts Rails.version

Bundler使用中の場合

プロジェクトでBundlerを使っている場合(Gemfileがある場合):

bundle list | grep rails

または:

bundle show rails

これにより、現在のプロジェクトで使用している正確なgemのバージョンとパスが表示されます。

バージョン指定でgemをインストールするには?

特定のバージョンのgemをインストールしたい場合:

gem install gem名 -v バージョン番号

例:

gem install rails -v 6.1.7.6

複数のバージョンをインストールしても互いに干渉せず、必要に応じて使い分けることができます。

バージョン範囲を指定する場合

gem install rails -v "~> 6.1.0"

これは「6.1.x」の最新版をインストールします(6.2.0以上はインストールしない)。

使用されていないgemを整理する

不要になったgemをアンインストールする場合:

gem uninstall gem名 -v バージョン番号

特定のバージョンのみを削除するにはバージョンを指定します。バージョンを指定しないと、そのgemのすべてのバージョンを削除するか確認されます。

トラブルシューティング

「gem not found」というエラーが出る

  • gem listで実際にそのgemがインストールされているか確認
  • gem which gem名でgemの場所を確認
  • Bundlerを使っている場合はbundle installを実行してみる

複数バージョンがあると混乱する

  • プロジェクトごとにはGemfileBundlerを使うことをおすすめ
  • 古いバージョンが不要ならgem cleanupで古いバージョンを削除できる

まとめ

gemのバージョンを正しく把握することは、依存関係のトラブル防止や開発の安定化に欠かせません。

よく使うコマンドまとめ

操作内容コマンド例
RubyGemsのバージョン確認gem --version
インストール済みgem一覧gem list
特定gemのバージョン確認gem list gem名
gemの詳細情報を表示gem info gem名
バージョン指定でインストールgem install gem名 -v バージョン
特定バージョンのgemを削除gem uninstall gem名 -v バージョン
古いバージョンを一括削除gem cleanup

コメント

タイトルとURLをコピーしました