blog.unresolved.xyzblog.unresolved.xyz

Heroku + Rails(Sprockets4.0.1)でassets:precompileがエラーする問題

Fri Jun 05 2020
  • Ruby on Rails
  • TIL

dependabotのオートマージで夜中にデプロイ失敗したよというメッセージが発生しました。

1NoMethodError: undefined method `+' for nil:NilClass 2 from sprockets/asset.rb:138:in `etag' 3 from sprockets/asset.rb:67:in `block in digest_path' 4 from sprockets/asset.rb:67:in `sub' 5 from sprockets/asset.rb:67:in `digest_path' 6 from sprockets/manifest.rb:175:in `block in compile' 7 from sprockets/manifest.rb:173:in `each' 8 from sprockets/manifest.rb:173:in `compile' 9 from sprockets/rails/task.rb:68:in `block (3 levels) in define' 10 from rake/sprocketstask.rb:148:in `with_logger' 11 from sprockets/rails/task.rb:67:in `block (2 levels) in define' 12 from rake/task.rb:281:in `block in execute' 13 from rake/task.rb:281:in `each' 14 from rake/task.rb:281:in `execute' 15 from rake/task.rb:219:in `block in invoke_with_call_chain' 16 from monitor.rb:230:in `mon_synchronize' 17 from rake/task.rb:199:in `invoke_with_call_chain' 18 from rake/task.rb:188:in `invoke' 19 from rake/application.rb:160:in `invoke_task' 20 from rake/application.rb:116:in `block (2 levels) in top_level' 21 from rake/application.rb:116:in `each' 22 from rake/application.rb:116:in `block in top_level' 23 from rake/application.rb:125:in `run_with_threads' 24 from rake/application.rb:110:in `top_level' 25 from rake/application.rb:83:in `block in run' 26 from rake/application.rb:186:in `standard_exception_handling' 27 from rake/application.rb:80:in `run' 28 from bundle/ruby/2.6.0/gems/rake-13.0.1/exe/rake:27:in `<top (required)>' 29 from ./vendor/bundle/bin/rake:29:in `load' 30 from ./vendor/bundle/bin/rake:29:in `<main>'

以下で解決できました。

1-Rails.application.config.assets.version = '1.0' 2+Rails.application.config.assets.version = 'v1.0'