我刚开始使用asset_sync gem,我的资产似乎是乱序编译的,Sass文件无法访问其他Sass文件中定义的变量。真正帮助我缩小问题范围的是能够确切地看到预编译期间发生了什么,但rake assets:precompile
和heroku run rake assets:precompile
似乎都没有提供详细的选项。我得到的是一些更高级别的输出,后跟rake aborted!
和堆栈跟踪。 Tailing heroku日志对我没有任何帮助,那么如何在Heroku上获得资产预编译期间发生的更详细的日志呢?
答案 0 :(得分:37)
结果以下组合会让你更加诙谐。您在预编译文件时获得输出,但不是因为它正在预编译,所以如果它挂起,您将无法看到它被阻塞的内容。
使用--trace标志
$ heroku运行rake assets:precompile --trace
将日志设置为在production.rb中使用STDOUT:
config.logger = Logger.new(STDOUT)
答案 1 :(得分:3)
如果在资产预编译阶段部署失败并且您想要调试它,则可以通过添加空public/manifest.yml
来强制heorku推送而不预编译资产。这将允许您在答案中描述的@Pedr中运行$heroku run rake assets:precompile --trace
。
有关详细信息,请参阅Is it possible to skip the asset precompile step for a single git push on Heroku?。