26

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

4

2 回答 2

40

事实证明,以下内容的组合会让您更加冗长。当一个文件被预编译时你会得到输出,但不是因为它正在被预编译,所以如果它挂起你就看不到它被阻塞了。

  1. 使用 --trace 标志

    $ heroku run rake assets:precompile --trace

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

    config.logger = Logger.new(STDOUT)

于 2012-11-15T01:58:15.203 回答
5

如果在资产预编译阶段部署失败并且您想要调试它,您可以通过添加一个空的public/manifest.yml. 这将允许您$heroku run rake assets:precompile --trace按照@Pedr 在他的回答中描述的方式运行。

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

于 2014-04-20T21:26:51.473 回答