開発環境にDockerを導入している状態で、deviseを導入し、エラーメッセージなどを日本語で表示させるために日本語ファイルを作成しようと下記コマンドを実行したところ
$ docker-compose run web rails g devise:views:locale ja
すると下記のようなエラーが発生した。
Starting aoo_db_1 ... done
Could not find devise-i18n-1.9.2 in any of the sources
Run `bundle install` to install missing gems.
devise-i18n-1.9.2
というGemが見つからないから、 bundle install
を実行してGemを入れてねってことらしい
けど、Gemはしっかりと書いてあるし、bundle install
も問題なく通るし、なんだこれ??なっていたが、調べてみるとどうやらキャッシュで bundle install が実行されない場合があるらしい。
解決方法としては下記のコマンドを実行すればOK
$ docker-compose build --no-cache
上記を実行したあとに
$ docker-compose run web rails g devise:views:locale ja
を実行すると
Creating network "app_default" with the default driver
Creating app_db_1 ... done
create config/locales/devise.views.ja.yml
といった感じに無事に日本語ファイルが作成された。
原因としてはサーバーを起動している状態でコマンドを打ったせいで、bundle install
がうまく行かずに、Gemが正しくインストールされずに起こったっぽいので次回からはしっかりとサーバーを止めてから、bundle install
を行うように気をつけたい。
Gemしっかりと入ってるはずなのになぜ!!?と少し焦ったが、調べてみると対策がすぐに見つかったので助かった。先人様様ですわね!!先人しか勝たん!!!