目次
どういうエラーが出た人向け?
この記事は、
C:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/bootsnap-1.17.0/lib/bootsnap/compile_cache/iseq.rb:64:in `fetch': The operation completed successfully. ...
というエラーメッセージや、それを解決するためにあれこれしていたら
configuration.rb:96:in `method_missing': undefined method `assets' for #< ...
みたいなエラーメッセージが出てしまった人向けの記事です。私の場合、ちょっと前までは普通にRailsの立ち上げがうまくいっていたのに、新しいものを作ろうとしたら急に上手くいかなくなってしまいました。
恐らく「bootsnap エラー」と調べた時に、「cacheを消そう!」とかrequire消そう!とかいろいろ出てきたと思います。まずはそれを試してください。
私自身クリティカルでないところで詰まりまくって10時間くらいかけてしまったので、初めて記事を書こうと思います。
この記事が、それでもなお上手くいかなった誰かの役にたてたら嬉しいです。
私の環境
- Windows 11
- ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]
- Rails 7.0.8
解決方法
まずは、パスの中に日本語があったらそれを半角英数字のしっかりとしたフォーマットに直してみてください。このとき、コード内にパスを記載しているところがあったり他に参照している個所があればしっかりと気を付けましょう。
ここでエラーメッセージが
configuration.rb:96:in `method_missing': undefined method `assets' for #< ...
に変わったら、
Gemfileに
gem "sprockets-rails", "~> 3.2", require: "sprockets/railtie"
この行を書き加えます。本来ならデフォルトで書かれているはずのsprocketsに関する記述が消えていたようです。
バージョンが合わなければよしなに書き換えてください。
そしてコマンドラインで
bundle install
rails s
すると、立ち上がりました。
もしうまくいかなければ、
config/application.rb の3行目あたりに
require "sprockets/railtie"
を追加してみてください。