详细输出来自rake资产:预编译

我刚开始使用asset_sync gem,我的资产似乎是乱序编译的,Sass文件无法访问其他Sass文件中定义的变量。 真正帮助我缩小问题范围的是能够确切地看到预编译期间发生了什么,但是两个rake assets:precompileheroku run rake assets:precompile似乎没有提供冗长的选项。 我得到的是一些更高级别的输出,然后是一个rake aborted! 和堆栈跟踪。 Tailing heroku日志对我没有任何帮助,那么如何在Heroku上获取资产预编译期间发生的事情的更详细日志呢?

原来以下的组合让你更加诙谐。 您在预编译文件时获得输出,但不是因为它正在预编译,所以如果它挂起,您将无法看到它被阻塞的内容。

  1. 使用–trace标志

    $ heroku运行rake assets:precompile –trace

  2. 设置日志以在production.rb中使用STDOUT:

    config.logger = Logger.new(STDOUT)

如果在资产预编译阶段部署失败并且您想要调试它,则可以通过添加空的public/manifest.yml来强制heorku推送而无需预编译资产。 这将允许您运行$heroku run rake assets:precompile --trace as @Pedr在他的回答中描述。

请参阅Heroku上的单个git推送是否可以跳过资产预编译步骤? 更多细节。