✅当方の環境
- 開発環境 : Docker
- 本番環境 : heroku
- Gemfileの内容
- ruby 2.7.5
- rails 6.1.5
- webpacker 5.0
✅関連キーワード
- 「Docker」+「Rails」+「CircleCi」の環境
- CircleCiにおける自動テスト時にエラー(ビルド時はエラーが出ていない)
- 「bundle exec rails db:migrate」でエラーが発生している模様
- Run
bundle install
to install missing gems. - bundle installされない
✅エラー内容
- CircleCiのログの内容※一部抜粋
#!/bin/bash -eo pipefail
bundle exec rails db:migrate
Could not find rake-13.0.6 in any of the sources
Run `bundle install` to install missing gems.
Exited with code exit status 1
CircleCI received exit code 1
✅エラー箇所
- 「.circleci\config.yml」に記載している「test」のrunコマンドの実行箇所
.circleci\config.yml
<中略>
- run:
name: Database setup
command: bundle exec rails db:migrate
<中略>
✅エラー原因
- どうやら、CircleCI側で用意しているDockerのRUBYのイメージが、2021/12/31以降から新しいものに変更されたたため。
- 「.circleci\config.yml」に記載しているDockerのイメージは、古いのもらしい(Rubyのバージョンとは無関係)
✅エラー対応
- 「.circleci\config.yml」に記載しているDockerのイメージを、2021/12/31以降の新しいイメージに修正する
<中略>
test:
docker:
- - image: circleci/ruby:2.7 #変更前
+ - image: cimg/ruby:2.7 #変更後
- image: circleci/mysql:5.5
<中略>
- そのほかのDockerイメージのもの(Rubyのみ)もすべて変更する
- Mysqlなどの別の種類は修正してはいけない(修正したらbuildでエラーが出ます)