Railsで次のようなエラーが発生し、言われた通りにbundle install
を実行しても解決しない時の対処法について。
エラー内容
コンテナの外からRailsコンテナでコマンドを実行しようとした場合に次のようなエラーが発生します。
Rails起動時も次のようなエラーが発生します。
効果のなかったこと
bundle install
エラーで指定された通り、bundle installを実行を実行すると、指定のpublic_suffix-4.0.6を正しくインストールされる。
しかし、コンテナを起動しようとすると同じエラーが出続ける。
bundle update && bundle install
bundle updateを先に実行すればいいという記事を見つけたので、試してみたが、結局、同じエラーがで続けました。
対処法
シンプルに既存のコンテナを削除して、新しく作り直しました。
エラーが発生していた時は、コンテナを起動したときに一度、既存のコンテナと同じサービス名を使ったり、ディレクトリ名が重複したイメージが作成されてしまったことが原因と想定されます。
bundle install自体がとても時間のかかる作業なので、一度コンテナやイメージを削除して、docker-compose.ymlなどを見直した後に、再度作成する方が早かったりもします。
(参考)【Docker】docker-composeファイルを使い回す時の注意点(コンテナ起動エラーやファイルがローカルにコピーされない時の対処法)