開発環境
AWSのcloud9で、ruby on railsを構築中に、deviseを追加したときにエラーが発生しました。
解決したので、メモに残しておきます。
実際にやったこと
deviseを追加するために、Gemfileに
gem 'devise', '3.4.1'
と記入してから、
bundle update
を実行すると、以下のエラーが表示されます。
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundler could not find compatible versions for gem "railties":
In Gemfile:
devise (= 3.4.1) was resolved to 3.4.1, which depends on
railties (< 5, >= 3.2.6)
rails (~> 5.2.0) was resolved to 5.2.0, which depends on
railties (= 5.2.0)
エラーの内容を「互換性のあるrailtiesが見つからない」のところを見て、railtiesを変更すればよいのかと色々やったが、問題はそこではなくdeviseというgemがlistにないということが原因だったみたい。
色々やった結果。解決。まず、
gem list
を実行すると、一覧にdeviseの表示がない。
インストールが必要みたい。
gem install devise
を実行した後に、gem listを見ると、devise(4.4.3)と表示されるようになりました。
そこで、Gemfileのファイルの中のdeviseの行を以下のように変更します。
gem 'devise', '4.4.3'
そして、bundle update が成功しました。