私はasset_syncgemを使い始めたばかりですが、アセットが順不同でコンパイルされているようで、Sassファイルは他のSassファイルで定義された変数にアクセスできません。問題を絞り込むのに本当に役立つのは、プリコンパイル中に何が起こっているかを正確に確認できることですが、両方ともrake assets:precompile
およびheroku run rake assets:precompile
詳細なオプションを提供していないようです。私が得るのは、いくつかのより高いレベルの出力とそれに続くrake aborted!
およびスタックトレース。 Herokuログをテーリングしても何も得られないので、Herokuでのアセットの事前コンパイル中に何が起こっているかについてより詳細なログを取得するにはどうすればよいですか?
次の組み合わせにより、もう少し冗長になります。ファイルがプリコンパイルされると出力が得られますが、プリコンパイルされているときは出力されないため、ファイルがハングすると、何が詰まっているのかがわかりません。
--traceフラグを使用します
$ heroku run rake Assets:precompile --trace
Production.rbでSTDOUTを使用するようにログを設定します。
config.logger = Logger.new(STDOUT)
アセットのプリコンパイルフェーズ中にデプロイが失敗し、それをデバッグする場合は、空のpublic/manifest.yml
を追加することで、アセットをプリコンパイルせずにheorkuを強制的にプッシュできます。これにより、@ Pedrの回答で説明されているように$heroku run rake assets:precompile --trace
を実行できます。
詳細については、 Herokuでの単一のgit Pushのアセットプリコンパイル手順をスキップすることは可能ですか? を参照してください。