質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

Q&A

0回答

1461閲覧

ruby2.7へのupdateの際、LoadErrorが起きる

isumidaichi

総合スコア7

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

0グッド

1クリップ

投稿2020/02/09 11:13

本番環境のrubyを2.6から2.7にバージョンアップしようとしています。
一気にgemをupdateせず、circleciを使用してlintとrspecがこける都度、該当のgemをupdateすることをエラーが起きなくなるまで繰り返すというような変更作業を行なっています。

その中で以下のエラーを解決できずにいます。

LoadError: Unable to autoload constant CaseReports::FavoritesAPI, expected /home/circleci/***/app/api/web/case_reports/favorites_api.rb to define it /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:511:in `load_missing_constant' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:60:in `block in load_missing_constant' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:16:in `allow_bootsnap_retry' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/active_support.rb:59:in `load_missing_constant' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:195:in `const_missing' /home/circleci/***/app/api/app/v2.rb:13:in `<class:V2>' /home/circleci/***/app/api/app/v2.rb:1:in `<main>' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:378:in `block in require_or_load' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:37:in `block in load_interlock' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:14:in `block in loading' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/concurrency/share_lock.rb:151:in `exclusive' /home/circleci/***/vendor/bundle/ruby/2.7.0/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:13:in `loading'

エラー箇所はapp/api/app/v2.rb内ですが、これまで本番アプリケーションでもApp::V2::CaseReports::FavoritesAPIとして動作しておりましたが、update作業の中で定数がうまく読まれないようになったようです。

# v2.rb . . . mount App::V2::BannersAPI mount App::V2::BlockingsAPI mount App::V2::CaseReports::FavoritesAPI mount App::V2::CaseReports::ClipAPI mount App::V2::CaseReportsAPI mount App::V2::ClinicGroupsAPI . . .

どなたか知恵を貸しいただけませんでしょうか。
update作業の概要を以下にまとめておきます。


  • circleciで用いるimageをruby:2.6.0-node-browsersからruby:2.7.0-node-browsersに変更
lint: working_directory: ~/*** resource_class: large docker: - image: circleci/ruby:2.7.0-node-browsers
  • エラーの原因となっているgemをupdate
    • update bundler
    • update bootsnap
    • update shoulda-matchers
    • update config
    • update capybara
    • update grape ← ここから先に進めないです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問