【Rails】エラー対処法:Could not find public_suffix-4.0.6 in any of the sources(bundle installを実行しても解消しない)

rails-prograshi(プロぐらし)-kv Rails
記事内に広告が含まれていることがあります。

Railsで次のようなエラーが発生し、言われた通りにbundle install を実行しても解決しない時の対処法について。

エラー内容

コンテナの外からRailsコンテナでコマンドを実行しようとした場合に次のようなエラーが発生します。

エラー例1

Could not find public_suffix-4.0.6 in any of the sources
Run bundle install to install missing gems.

Rails起動時も次のようなエラーが発生します。

エラー例2:

rails-aa-web | /usr/local/lib/ruby/2.7.0/bundler/spec_set.rb:86:in `block in materialize’: Could not find public_suffix-4.0.6 in any of the sources (Bundler::GemNotFound)


効果のなかったこと

bundle install

エラーで指定された通り、bundle installを実行を実行すると、指定のpublic_suffix-4.0.6を正しくインストールされる。

しかし、コンテナを起動しようとすると同じエラーが出続ける。

bundle update && bundle install

bundle updateを先に実行すればいいという記事を見つけたので、試してみたが、結局、同じエラーがで続けました。

対処法

シンプルに既存のコンテナを削除して、新しく作り直しました。


エラーが発生していた時は、コンテナを起動したときに一度、既存のコンテナと同じサービス名を使ったり、ディレクトリ名が重複したイメージが作成されてしまったことが原因と想定されます。

bundle install自体がとても時間のかかる作業なので、一度コンテナやイメージを削除して、docker-compose.ymlなどを見直した後に、再度作成する方が早かったりもします。

(参考)【Docker】docker-composeファイルを使い回す時の注意点(コンテナ起動エラーやファイルがローカルにコピーされない時の対処法)

タイトルとURLをコピーしました