Ruby on rails rake资产的详细输出:预编译

Ruby on rails rake资产的详细输出:预编译,ruby-on-rails,logging,heroku,precompile,Ruby On Rails,Logging,Heroku,Precompile,我刚刚开始使用asset_sync gem,我的资产似乎被无序编译,Sass文件无法访问其他Sass文件中定义的变量。真正有助于我缩小问题范围的是能够准确地看到预编译过程中发生了什么,但是rake资产:precompile和heroku运行rake资产:precompile似乎都没有提供详细的选项。我得到的只是一些更高级别的输出,然后是rake中止和堆栈跟踪。跟踪heroku日志对我来说毫无意义,那么我如何才能获得heroku上资产预编译过程中发生的更详细的日志呢?事实证明,以下内容的组合会让您

我刚刚开始使用asset_sync gem,我的资产似乎被无序编译,Sass文件无法访问其他Sass文件中定义的变量。真正有助于我缩小问题范围的是能够准确地看到预编译过程中发生了什么,但是
rake资产:precompile
heroku运行rake资产:precompile
似乎都没有提供详细的选项。我得到的只是一些更高级别的输出,然后是
rake中止和堆栈跟踪。跟踪heroku日志对我来说毫无意义,那么我如何才能获得heroku上资产预编译过程中发生的更详细的日志呢?

事实证明,以下内容的组合会让您更加详细。当一个文件被预编译时,您会得到输出,但不会像它被预编译时那样,所以如果它挂起,您就看不到它被什么阻塞了

  • 使用--trace标志

    $heroku运行rake资产:预编译--跟踪

  • 将日志设置为在production.rb中使用标准输出:

    config.logger=logger.new(标准输出)


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

    有关更多详细信息,请参阅