为啥 rake assets:precompile 需要永远?

Posted

技术标签:

【中文标题】为啥 rake assets:precompile 需要永远?【英文标题】:Why would rake assets:precompile take forever?为什么 rake assets:precompile 需要永远? 【发布时间】:2012-07-07 18:52:25 【问题描述】:

我们的 RoR 应用程序使用了很多需要预编译的资产。 assets:precompile 通常需要几分钟才能运行。

然而最近发生了一件非常奇怪的事情:简单的rake assets:precompile 永远不会结束(等了几个小时)。

我找到了解决方法:

rake assets:precompile --trace

无论如何,修复它会很棒。关于原因的任何想法?

【问题讨论】:

你试过rake assets:precompile --trace吗? 哦,--trace 是我的意思,而不是--quiet。使用跟踪运行它没有问题。这很奇怪。 如果你中断 (Ctrl-C) 无限预编译也许堆栈跟踪可以提供一些线索? 【参考方案1】:

在您的本地机器上还是在生产服务器上需要很长时间?

当我将我的应用程序部署到 AWS 微实例时,我也遇到了类似的情况。它占用了很多 CPU,然后 AWS 限制了 CPU。见http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts_micro_instances.html

现在我在本地预编译我的资产,问题就解决了。

【讨论】:

【参考方案2】:

我遇到了同样的问题,并通过某处的要点遇到了这个很棒的宝石(史蒂夫·阿加洛科)。总之,很有魅力!

https://github.com/spagalloco/capistrano-local-precompile

【讨论】:

以上是关于为啥 rake assets:precompile 需要永远?的主要内容,如果未能解决你的问题,请参考以下文章

rake assets:precompile 试图连接到生产数据库?

Rake assets:precompile 在生产中打开控制台会话时被终止

在 bundle exec rake assets:precompile 后 OpsWorks 部署失败

Capistrano - rake assets:precompile - 应用程序已经初始化

在'rake assets:precompile'之后,Rails 4 资产未加载到 Heroku

rake assets:precompile 在本地编译时不起作用