Ruby on Rails でポートフォリオを作っていると、便利な Gem を使いたくなりますよね。
そして Gemfile に追加して bundle install した後、以下のようなエラーが出たことはありませんか?
Ransack is supported for Rails 7.0, 6.1 on Ruby 2.7 and later.
これは、以下のような意味を持ちます。
- Ransack は Rails 7.0 と 6.1 でサポートされている
- Ruby 2.7 以降で動作する
逆にいうと、Rails 6.0 以下では動作せず、Ruby 2.7 未満でも動作しないということです。
しかし、実際に導入しようとしてからエラーに遭遇するよりは、事前に確認しておいた方が良いですよね。
そこで今回は、使おうとしている Gem がどのバージョンの Rails と Ruby で動作するのかを確認する方法を紹介します。
RubyGems にアクセスする
まずは、RubyGems のサイトにアクセスします。
![](https://musclecoding.com/wp-content/uploads/2023/10/スクリーンショット-2023-10-03-13.24.58-1024x445.png)
RubyGems とは、誰かが作った Gem を公開するためのサイトです。
みなさんが使おうとしている Gem も、ここに登録されているはずです。
RubyGems で使おうとしている Gem を検索する
RubyGems にアクセスしたら、検索ボックスに使おうとしている Gem の名前を入力します。
例えば今回は Ransack という Gem を使おうとしているので、検索ボックスに ransack と入力します。
![](https://musclecoding.com/wp-content/uploads/2023/10/スクリーンショット-2023-10-03-13.25.14-1024x344.png)
大抵、検索結果の一番上に使おうとしている Gem が表示されると思いますのでクリックします。
![](https://musclecoding.com/wp-content/uploads/2023/10/スクリーンショット-2023-10-03-13.25.52-1024x426.png)
すると、その Gem の詳細ページに移動します。
対応している Ruby のバージョンを確認する
詳細ページに移動したら、画面右側に必要なRUBYのバージョン: という項目があるので、そこに対応している Ruby のバージョンが記載されています。
![](https://musclecoding.com/wp-content/uploads/2023/10/スクリーンショット-2023-10-03-13.26.01-1024x516.png)
例えば今回は、以下のように記載されていました。
>= 2.7
これは、Ruby 2.7 以上であれば動作するということです。
逆にいうと、例えば Ruby 2.6 以下では動作しないということです。
対応している Rails のバージョンを確認する
ポートフォリオを作ろうとしている場合、Rails のバージョンも気になると思います。
対応している Rails のバージョンは、RUNTIME依存関係 という項目に記載されています。
![](https://musclecoding.com/wp-content/uploads/2023/10/スクリーンショット-2023-10-03-13.26.17-1024x364.png)
ここで注意点があります。
上記の依存関係を見てみると、Rails とは書かれていないですよね。
その理由を説明します。
Rails はそれ自体が Gem なのですが、Rails には複数の Gem が含まれています。
例えば、以下のような Gem が含まれています。
- activerecord
- activesupport
- activejob
- actioncable
- actionmailbox
- actionmailer
このように、Rails には active または action という名前の Gem が含まれています。
それとの依存関係によって使える Rails のバージョンが決まるのです。
そのため、active または action から始まる名前の Gem のバージョンを確認することで、使える Rails のバージョンを確認することができます。
上記の例でいうと、activerecord と activesupport が含まれているので、Rails 6.1.5 以上であれば動作するということです。
まとめ
今回は、使おうとしている Gem がどのバージョンの Rails と Ruby で動作するのかを確認する方法を紹介しました。
Gem を使おうとしてからエラーに遭遇するよりは、事前に確認しておいた方が良いですよね。
そのため、以下の手順でチェックしましょう!
- RubyGems にアクセスする
- RubyGems で使おうとしている Gem を検索する
- 対応している Ruby のバージョンを確認する
- 対応している Rails のバージョンを確認する