【问题标题】:Rails cannot find JS file on HerokuRails 在 Heroku 上找不到 JS 文件
【发布时间】:2013-01-30 08:47:51
【问题描述】:

我的 Rails 应用程序的 app/assets 文件夹中有一个名为 components 的文件夹。我试图从我的application.coffee 文件中要求该目录的子目录中的 js 文件。

#= require holderjs/holder

这适用于我的开发环境。但是当我部署到 Heroku 时,它失败并出现以下错误:

  Running: rake assets:precompile
  Updating mtimes for current assets...
  rake aborted!
  couldn't find file 'holderjs/holder'
  (in /tmp/build_s0zusz8pduh8/app/assets/javascripts/application.coffee:11)

我检查以确保组件文件夹位于 Heroku 上 Sprockets 的资产路径中,而且确实如此。所以我不明白为什么 Heroku 找不到这个文件。任何帮助将不胜感激。

【问题讨论】:

  • 发布“rake assets:precompile --trace”的结果
  • 在我的开发环境中,预编译资产没有任何反应。在 Heroku 上,我得到了上面的错误。
  • 您是否尝试将config.assets.initialize_on_precompile = false 添加到config/application.rb?在 Heroku 上运行 rake assets:precompile 通常会在没有该行的情况下失败。
  • @redhotvengeance 是的,我做到了。任何其他文件都不会失败。仅适用于 components 文件夹内的文件。

标签: ruby-on-rails heroku sprockets


【解决方案1】:

我发现,由于 components 目录中的文件夹是从 git repo 派生的,因此 Heroku 无法跟踪它们。我不得不删除这些目录中的 .git 文件夹并再次推送,这一次成功了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 2019-04-01
    相关资源
    最近更新 更多