LoginSignup
4
7

More than 5 years have passed since last update.

rake assets:precompile が通らなくて失った6時間

Posted at

初デプロイしようとcapistrano叩いたらasset:precompileでコケてた悔しみを記事にしました。

結論:デフォルトで生成される「application.css」が原因

結論から言うと、railsをnewしたときにデフォルトで生成されてるapplication.cssが原因でした。

config/initializers/assets.rb
Rails.application.config.assets.precompile += %w( guest.css admin.css )

configにあるassetの設定には上記のように、precompileの対象として、guest(一般ユーザ画面)とadmin(管理画面)を指定していたので、develop環境でのsassは特にエラーを吐くこともなく、正常に動いていたので気づかなかったのですが、
railsをnewしたときにデフォルトで生成されるapplication.cssは、指定しなくてもprecompileの対象となっているようで

app/assets/stylesheets/application.css
*= require_tree .
*= require_self

require_tree . があるせいで、sassの各種変数などがundefinedとしてエラーになり、デプロイがコケていました。
application.cssを削除すると、 rake assets:precompile が動きました。

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7