Heroku 无法在我的 Ruby on Rails 应用程序中找到文件 - 即使它们就在那里?

2024-03-22

当我尝试访问我的网站,然后检查我的 Heroku 日志时,我看到以下错误:

ActionView::Template::Error(找不到文件“重置” 2012-06-13T02:31:43+00:00 应用程序[web.1]:(在 /app/app/assets/stylesheets/application.css:4)):

(application.css 包含行 *= require reset)

然后我想运行“heroku run bundle exec rake assets:precompile:all”,但这给出了类似的错误:

-----> Preparing app for Rails asset pipeline
       Running: rake assets:precompile
       rake aborted!
       couldn't find file 'main/first.js.coffee'
       (in /tmp/build_3428u21sggsoc/app/assets/javascripts/application.js:1)
       Tasks: TOP => assets:precompile:primary

(该文件是我的 application.js 所需的第一个文件,其第一行为“//= require main/first.js.coffee”)

总之:我的应用程序在本地运行良好,但是当我部署到 Heroku 时,不再可以找到这些文件。有什么想法吗?

编辑:这是项目树。 (在app目录之前还有一个目录,这是主项目目录,还包含config、db、log等)

另一个编辑:.gitignore 或 .slugignore 没有问题。


首先,我建议您在本地计算机上以生产模式运行应用程序。有一些错误(在资产中,但我也在路由中发现了一些错误),这些错误仅对生产环境产生影响,因此您可以在本地测试和修复它们,而不必从生产服务器执行此操作。

关于 Heroku 上的资产预编译,akjoe 给出的解决方案应该会导致在 git repo 中跟踪已编译的资产:使用此选项,您应该禁用 Heroku 上发生的资产预编译,并让 Rails 为您提供资产(设置config.serve_static_assets = true在你的production.rb文件)但这不是处理资产管道的最佳方法,因为你失去了他的主要好处之一,即释放你的 Rails 应用程序对资产的请求。 为了使其正常工作,您应该设置类似 herokuterpret 的东西:在 Rails 3.1+ 中使用 Rack::Cache 和 Memcached 进行静态资源缓存 https://devcenter.heroku.com/articles/rack-cache-memcached-static-assets-rails31

我还建议您在生产环境中本地尝试资产预编译RAILS_ENV=production bundle exec rake assets:precompile。看看你是否有任何错误。

最后,您可能想检查这些不同的链接以查找有用的信息:

  • Heroku Cedar 上的 Rails 3.1+ 资产管道 https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar
  • Railscasts :#279 了解资产管道 http://railscasts.com/episodes/279-understanding-the-asset-pipeline
  • 导轨指南 http://guides.rubyonrails.org/asset_pipeline.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Heroku 无法在我的 Ruby on Rails 应用程序中找到文件 - 即使它们就在那里? 的相关文章

  • 如何运行 Rails 服务器守护进程?

    我是 Rails 世界的新手 需要在守护进程模式下运行我的 Rails 测试服务器 我注意到有一个 d 标志 但它对我不起作用 rails s d 不应该是这样吗 它应该是 rails server daemon to kill the s
  • 使用 Rails 应用程序推送到 Heroku 时如何忽略文件夹和文件?

    我有一个Rails 3 2 8应用程序 我不想推送我的spec文件夹和test登录 Heroku 我该怎么做 如果有一个staging偏僻的 Thanks 你可以把它们放进去 gitignore 但这会将它们从您的整个存储库中排除 更好的解
  • Rails 中的代码片段应该放在哪里?

    我有这个代码片段 可以为 POST 生成签名 它的细节并不重要 但我想知道的是 由于它不是与模型相关的代码块 所以它确实可以在任何地方使用 在控制器中 在模型中 在视图助手中 即使在视图中 因此 我不确定在哪里 甚至更大的问题是 一旦将其放
  • 在 Heroku 上配置单页面 Create-React-App

    使用 Firebase Hosting 当您部署应用程序时有人问你 https stackoverflow com questions 37667626 firebase cli configure as a single page app
  • 我可以使用 Rails API 执行 INSERT-SELECT 操作吗?

    我必须将一个表中的 BLOB 字段复制到另一个表中 并且我想使用 INSERT SELECT 查询来实现此目的 INSERT INTO target table key data comment SELECT my key data som
  • Rails:包括外部 JavaScript

    我想使用 JavaScript 库 例如 jQuery 插件 我是否使用 Rails 资产管道 或者我应该将其包含在 javascript include tag 中 我有哪些选择以及推荐的做法是什么 您会仅在几个页面上还是在整个应用程序中
  • 如何使用 ruby​​zip 库获取压缩文件的内容?

    我正在尝试提取上传的 zip 文件并将其内容存储在数据库中 每个文件一个条目 rubyzip 库几乎没有有用的文档 有一个资产表 其中包含键 string 文件名 和数据 binary 文件内容 我正在使用 ruby zip 库 并且已经做
  • 如何让 Heroku 安装 devDependency?

    我希望 Heroku 在推送应用程序后构建我的应用程序 这样我就不必每次进行更改时都将构建文件夹向上推送 然而 Heroku 仅安装来自package json和 grunt 我的构建工具 及其所有组件都在devDependencies 我
  • Rails 命令有什么区别:--no-test-framework、--skip-test-unit 和 -T?

    原本我以为这三者都是一样的 但现在仔细一看 却发现它们各有不同 我通过搜索找不到任何关于此的好的文档 根据导轨API http api rubyonrails org classes Rails Generators Base html a
  • 当你不继承Rails 4中的ApplicationController时,如何包含respond_to?

    我在 Rails 4 1 2 应用程序中有一个 API 控制器 它不继承自应用程序控制器 我试图包含 respond to 方法并得到一个方法未定义的错误 所以然后我需要在顶部的操作包 如下所示 require action pack cl
  • jQuery 自动完成滚动问题

    我在用着Rails3 jquery 自动完成 https github com crowdint rails3 jquery autocomplete在我的应用程序中 我遇到了以下问题 如果您在输入字段中输入某些内容以便显示自动完成数据并在
  • 未使用 form_with 显示时出错

    早上好 我正在按照教程进行操作http edgeguides rubyonrails org getting started html http edgeguides rubyonrails org getting started html
  • Rails 5.2 Active Storage 添加自定义属性

    我有一个带有附件的模型 class Project lt ApplicationRecord has many attached images end 当我附加并保存图像时 我还想保存一个附加的自定义属性 display order 整数
  • 如何在 Heroku 中安装 NLTK 模块

    嘿 我想在我的 Heroku 服务器上安装 NLTK pos tag 我该怎么办呢 请给我一些步骤 因为我是 Heroku 服务器系统的新手 我刚刚添加了官方nltk支持构建包 只需添加一个nltk txt文件包含要安装的语料库列表 一切都
  • 防止Rails Turbolinks导致Google地图JS多次执行

    我目前正在开发 Rails 应用程序 但出现以下错误 您已在此页面上多次包含 Google Maps API 这可能会导致意外错误 经过一番研究后 我发现 Turbolinks 导致了这个问题 当 的时候link to单击后 Google
  • 将局部变量传递给视图加载后渲染的局部变量

    Update 我刚刚发现另一个线程解释了为什么我遇到这个问题 将本地 Rails 变量传递给 JavaScript 到部分 https stackoverflow com questions 12342058 pass local rail
  • 将 Rails 5.2 升级到 6.0 时出现参数错误数量错误

    我正在尝试将旧站点从 Rails5 2 升级到 6 0 然后再升级到 6 1 推荐的路径 我收到了有关参数数量错误的各种错误 其中一些错误我已通过更新或删除各种 gem 设法清除 最后我被困在了这一点上 rbenv versions 3 0
  • Rails 上的 SASS 无效 CSS 错误

    我正在尝试使用http startbootstrap com stylish portfolio http startbootstrap com stylish portfolio但是 在我的 Rails 应用程序中 我在 vintage
  • Rails 查询连接关联表与别名

    我有一个模型Edge属于另一个模型Node通过不同的外键两次 def Edge lt ActiveRecord Base belongs to first class name Node belongs to second class na
  • 在 git 中管理 schema.rb 的首选方法是什么?

    我不想添加schema rb to gitignore 因为我希望能够从该文件加载新的数据库架构 然而 保持检查状态会导致各种虚假冲突 而这些冲突很容易通过新的解决方案解决 db migrate reset 基本上我想要一种方法 将 sch

随机推荐