【问题标题】:rails 3.2.3 rake assets:precompile task takes more than 30 minutesrails 3.2.3 rake assets:预编译任务需要超过 30 分钟
【发布时间】:2012-05-23 22:37:42
【问题描述】:

这个应用程序的问题在于它是 WIP,所以我们没有使用任何东西将它部署到我们的生产服务器,我们只是从 github 克隆它,并且每次我们完成某事时都会执行 git pull,rake assets:预编译任务需要30多分钟才能完成!,WTF?。

我们正在这样做:

$ bundle exec rake assets:clean
$ bundle exec rake assets:precompile

我们的生产服务器:

  • ruby 1.9.3p194 (rbenv)
  • 导轨 3.2.3
  • 独角兽
  • nginx

我们的 rails + unicorn + rbenv + init.d 守护进程配置在这里:https://gist.github.com/2776085

现在,这是我们的资产清单、Gemfile 和 production.rb 文件:http://pastie.org/3958070

那么,有人知道为什么这需要这么长时间吗?或者有什么方法可以加快生产环境中的资产编译速度?

谢谢。

更新:本地资产编译时间:http://pastie.org/3961734

【问题讨论】:

    标签: ruby-on-rails ruby rake asset-pipeline


    【解决方案1】:

    Rails 的资产管道看起来比 app/assets/{javascripts,stylesheets} 更进一步。 正如guides 中提到的,您还可以在其他位置放置应用程序的资产:

    • 应用/资产
    • 库/资产
    • 供应商/资产

    我建议您阅读Rails's asset pipeline 上的完整指南以获取有关所有这些的更多信息以及生产环境的一些提示,例如用于缓存的 nginx 规则、加速资产预编译等。

    【讨论】:

      【解决方案2】:

      是我们的错,我们在 app/assets 中有一个额外的文件夹,比如 app/assets/blah 里面有很多文件夹,所以资产管道在那边看,但是,我们不知道为什么资产管道不只是查看 app/assets/javascripts 和 app/assets/stylesheets。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多