Closed RobNicholsGDS closed 1 year ago
I have added a second controller to the app via scaffold. All specs are now passing. I think the issue may only appear if there is only one request spec.
I am having this problem again. The problem seems to be related to tmp cache. If I run rails tmp:clear
then the first spec run gets this error. In doing this, the tmp cache is built and subsequently specs run without an issue.
This is horribly hacky but I'm currently "fixing" this problem with a helper method that I wrap around the first calls to assets in the application template.
def catch_load_error
yield
rescue LoadError
sleep 0.1
retry
end
This catches the initial load error and waits long enough for the tmp/cache to be built before retrying.
I think I've finally worked out what the problem was: I had sprockets-rails installed. Sprockets appears to have a dependence on sassc and that was causing the problem.
I've updated my app to use propshaft and the problem has gone away.
I have built two new rails 7.0.4 apps (ruby ruby 3.1.3p185) in the last couple of days, and with both of them I am getting
cannot load such file -- sassc
errors when I run request specs. I also notice that when I run the apps locally (viarails s
) the error occurs on first attempt to load my home page. However, if I refresh the page twice the page renders successfully.With the latest app I have only created a home controller (via
rails g controller home index --no-view-specs --no-helper
) as my first page, and it is the request spec created by the generator that is failing.I have gone though the README options to fix this problem but they do not fix it. I have also tried rolling back to earlier versions of
sprockets-rails
(defaults to '4.1.1'. Tried rolling back as far as '3.3.0') and sprockets.I built the latest app with:
And manually added
gem 'dartsass-rails'
before running bundle. I thought the--css=sass
might install Dart Sass but that didn't appear to be the case. I don't think it is clear in the documentation as to the css syntax to choose Dart Sass.The only occurrences of
sass
in my Gemfile.lock are:and
The full test error backtrace is:
manifest.js contains just these two lines:
I have run
bundle exec rails dartsass:build
successfully a number of times.app/assets/stylesheets/application.scss
contains just the comment//Sassy
. I have added the following just to check the CSS builds correctly:And that generated the expected
app/assets/builds/application.css
: