何かやってみるブログ

興味をもったこと、趣味のこと、技術について色々書きます。

[Rails メモ] OmniAuthのバージョンを上げたら、Deviseのエラー(You are using an old OmniAuth version, please ensure you have 1.0.0.pr2 version or later installed.)がでた時の対処法

概要

以前はポートフォリオとして作成し、今は新しいライブラリを試したりする時に使うおもちゃになったRailsプロジェクトでOmniAuthのバージョンを2.0.0まで上げたら、You are using an old OmniAuth version, please ensure you have 1.0.0.pr2 version or later installed. というエラーが出て、はぁ??ってなった時のメモです。

環境

  • Rails 5.2.4.4
  • ruby 2.6.6
  • devise 4.7.3

原因

以下のissueでみられるように、OmniAuth::VERSIONのチェックをする場所でハードコーディングをしているのが原因らしい。 github.com

対処法

考えられる対処法は以下の2つのどちらか

  • DeviseにOmniAuth2を試すことができるPRが上がっていたので、以下のPRからgemを取得する
gem 'devise', git: "https://github.com/heartcombo/devise.git",  branch: "ca-omniauth-2"

github.com

  • omniauthのバージョンを2.0.0から1.9.1に下げる。
gem 'omniauth', '1.9.1'