【问题标题】:Asset pipeline on Heroku not loading dependanciesHeroku 上的资产管道未加载依赖项
【发布时间】:2013-06-19 08:58:28
【问题描述】:

我有一个 Rails 3.2.8 应用程序,它似乎在我的开发环境中运行良好,但是当部署到 Heroku 时,资产管道不再正确编译我的资产 - 或者至少,没有加载我的依赖项。

例如,在http://myappsubdomain.herokuapp.com/assets/application-b389f6c8ee6250ebc143feb659f40ed9.js 上找到的“已编译”js 资产包含原始源代码:

//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require twitter/bootstrap
//= require_tree .
$(".tip").tooltip();

我的 CSS 资产也是如此,其中包括直接放置在我的 application.css 中的任何样式,但没有加载任何必需的依赖资产。

预编译似乎在部署期间运行而没有错误:

-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       Asset precompilation completed (8.79s)

我注意到,如果我手动运行“heroku run rake asset:precompile”,我运行时不会出错,只有几个折旧通知。

如果我在我的开发环境中启用资产编译,一切似乎都被压缩到单个包含的资产中就好了,正如我所期望的那样。

任何人都可以就此提供任何建议吗?

【问题讨论】:

  • 因为在本地运行编译似乎没有问题我已经回滚到这种方法而不是让 Heroku 将资产编译为 slug 的一部分 - 我仍然不知道为什么会这样不过不是直接在 Heroku 上工作。

标签: ruby-on-rails-3 heroku asset-pipeline


【解决方案1】:

经过更多实验后,我注意到我提供的新 Heroku 实例在 Ruby 2 上运行(显然是在为 Rails 4 做准备),但我的开发环境和运行此给定代码库的现有 heroku 实例是在 1.9.3 上。

我已经更新了我的 Gemfile 以包含 Ruby 版本的明确定义,现在部署时一切似乎都运行良好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-16
    • 2019-02-15
    • 2012-08-28
    • 1970-01-01
    相关资源
    最近更新 更多