Ruby on Rails:heroku 运行 rake 资产:预编译

2023-11-23

请帮我理解什么heroku run rake assets:precompile确实如此。自从我开始在 ruby​​ on Rails 上工作以来,我总是会在推送到 github 和 heroku 之前运行这三个命令:

bundle exec rake assets:precompile

RAILS_ENV=production bundle exec rake assets:precompile

当我推送到heroku后,我会运行:

heroku run rake assets:precompile

然而,当我在上次推送到 heroku 后尝试运行它时,我在不同的文件上遇到了一堆相同的错误。例如:

Warning. Error encountered while saving cache ... can't dump anonymous class ...

为了看看我是否可以解决这个问题,我跑了

heroku run rake assets:clean进而heroku run rake assets:precompile再次。问题是一切都工作正常,但我只是对所有这些警告/错误感到怀疑。请帮助我理解。谢谢你!


预编译

给你一些更清晰的定义 -Heroku并不是唯一需要您“预编译”资产的系统。资产预编译是大多数 Rails 生产环境的先决条件,因为它允许您提供静态资产(文件)——非常适合速度和效率

这是什么Rails 文档对此说道:

在生产环境中Sprockets使用指纹识别方案 如上所述。默认情况下,Rails 假定资源已预编译 并将由您的网络服务器作为静态资产提供服务。

在预编译阶段,根据内容生成 MD5 编译后的文件,并按原样插入到文件名中 写入光盘。这些指纹名称由 Rails 使用 助手代替清单名称。

Heroku 希望您预编译资产的原因是 Heroku 环境是为了速度和效率而设计的;因此不希望花费 CPU 资源来编译应用程序的每个请求/实例的资产

这意味着您必须自己预编译资产,或者让Heroku 构建包为你解决这个问题


Heroku

正如所提到的CWitty,您需要确保在本地编译您的资产。虽然我不确定您收到的错误,但我确实知道一件事:预编译填充public/assets folder

这意味着如果您在本地预编译before提交到 Heroku,您的所有最新资产都会出现在您的public/assets目录before您尝试在 Heroku 上运行该应用程序

尽管 Heroku 确实在构建过程中执行预编译,但通过本地预编译会更安全(从异常角度来看):

$ rake assets:precompile RAILS_ENV=production

这将使您能够填充public/assets文件夹,让您可以毫无问题地推送到 Heroku

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby on Rails:heroku 运行 rake 资产:预编译 的相关文章

  • Ruby on Rails 基本概念总结

    作为 Rails 的新手 我很难找到提供 Ruby on Rails 概要的网站或参考资料 我对 MVC ActiveRecord 以及诸如此类的东西有基本的了解 但我很难理解其中的一些关系和基础知识 例如 我需要注意哪些命名约定 控制器操
  • Python Heroku 上的 Zombie SharedDataMiddleware

    我正在 Heroku 上设置 Flask 应用程序 一切工作正常 直到我添加静态文件 我正在使用这个 from werkzeug import SharedDataMiddleware app Flask name app wsgi app
  • 部署到 Heroku 时出现“rake 中止!堆栈级别太深”

    我的网站曾经运行正常 Heroku 预编译了资产和所有内容 现在 似乎不知从何而来 我开始在部署时收到此消息 Preparing app for Rails asset pipeline Running rake assets precom
  • 使用 Ruby Curb 传递 GET 参数

    我正在尝试使用 Curb curb rubyforge org 调用需要在 get 请求中提供参数的 RESTful API 我想获取一个像这样的URLhttp foo com bar xml bla blablabla 我希望能够做类似的
  • 寻找在 Ruby on Rails 中构建安全 REST API 的建议

    我正开始为我正在从事的项目构建 REST API 这促使我对使用 RoR 构建 API 的最佳方法进行了一些研究 我很快发现 默认情况下 模型是向世界开放的 只需在 URL 末尾添加 xml 并传递适当的参数即可通过 URL 进行调用 那么
  • Rails Resque 作业无法访问数据库,I/O 错误

    我遇到错误 无法找到任何相关信息 这是一个 Ruby on Rails 堆栈 Ruby 1 9 Rails 3 2 并使用 sqlite3 数据库进行开发 Resque 和 Redis 用于后台作业 Rails Web 应用程序启动正常 可
  • Rspec 通过 mTurk 测试实时结果

    我正在通过 Rspec 测试代码在 mTurk 上创建点击 但同时我需要测试必须从 mTurk 发回的结果 为了节省每次测试的复杂性 我使用 VCR 将 HTTP 请求记录在盒式磁带中 我该如何实施这个测试 好吧 我为此做了一些修改 我使用
  • 我可以在同一台 Apache 服务器上运行 Python Django 和 Ruby 吗?

    我正在使用 ModWSGI 在 Apache2 上运行 Python Django 并且我想在同一台服务器上运行 Ruby on Rails 可以这样做吗 我读到 Passenger for Ruby on Rails 也可以支持 Djan
  • 设计忽略我的自定义策略

    我想创建一个用于访问 API 的自定义身份验证策略 我按照示例代码进行操作设计忽略自定义策略 https stackoverflow com questions 3503827 devise ignoring custom strategy
  • ActiveStorage上传大型base64编码字符串?

    如果我有在客户端上使用 JavaScript 编辑 生成的图像 例如 裁剪的照片或画布绘图的结果 是否可以使用 ActiveStorage 上传它 它通常是一个包含以下内容的大字符串 img src 它存储在 JavaScript 变量中
  • 带有 JavaScript 函数的 Submit_tag

    我是rails新手 我想在单击提交按钮时调用javascript函数 我使用了submit tag 但该函数没有被触发 我想要如下所示的东西 我用谷歌搜索了这个问题 但找不到解决方案 请任何人提供解决方案 尝试单击 或者 如果您想使用 on
  • git Push heroku master 因“HTTP 400curl 22 请求的 URL 返回错误”而失败

    我正在尝试推送仅显示 你好 世界 的 Rails 应用程序 然后我遇到了如下错误 我想知道如何解决这个问题 git推送heroku大师枚举对象 88 完成 计数对象 100 88 88 完成 增量压缩最多使用 4 个线程 压缩对象 100
  • Rails:RSpec - nil:NilClass 的未定义方法“cookie_jar”

    铁轨新手 尝试遵循迈克尔 哈特尔的教程 尝试添加辅助方法来模拟 RSpec 测试中的日志时陷入困境 describe when the a user has logged in and attempts to visit the page
  • 设计omniauth-facebook redirect_uri 不是绝对URI

    非常感谢您的建议 我迁移到 Heroku我有以下问题脸书全能认证验证 当我通过 facebook 进行身份验证时回调地址不起作用 我被发送到主页https barteringapps herokuapp com 带有以下日志错误消息 red
  • Fields_for 动态标签

    我有动态表单 它有一组值 我创建了一个包含我显示的文本字段的部分 在每个文本旁边 我想显示一个包含文本标题的标签 例如 名字和姓氏以前是未知的 我该如何去做呢 看来我无法直接访问属性 但是当我使用标签字段时 标签中的变量名称显示而不是实际值
  • Rails 3 中的外键

    我理解 根据 Rails 理念 数据完整性检查应该在应用程序级别而不是数据库级别进行 和许多其他开发人员一样 我强烈反对 我发现了很多解决这个问题的讨论 但它们似乎都很陈旧 而且令人沮丧的是 它们似乎指向了不同的解决方案 我必须想象 Rai
  • 从同一个 Rails 代码库运行多个站点?

    我有一位客户想要将他们在一个领域取得成功的 Rails 应用程序应用到另一个类似的领域 该应用程序的这个新实例将开始非常相似 所有相同的功能 不同的徽标和颜色 但是 如果新网站成功 它将不可避免地需要进行重大自定义 而这些自定义不应应用于原
  • Ruby on Rails 中的渲染验证错误

    在模型中说Task 我有以下验证 validates presence of subject project user status 如何使用其他控制器呈现这些验证的错误消息 在我使用的 CustomController 内部 Task c
  • rspec中的分配意味着什么

    这行代码的作用是什么 assigns articles should eq article 在以下 rspec 中 describe GET index do it populates an array of articles do art
  • 如何在 Cloud9 上使用 Rails Composer 和 postgreSQL 并在 Heroku 上部署

    使用过程轨道作曲家 https github com RailsApps rails composer使用 postgreSQL 创建 Rails 应用程序Cloud9 http c9 io在 Heroku 上部署充满了警告和错误 可能会让

随机推荐

  • CNN-LSTM 的批量归一化层

    假设我有一个这样的模型 这是时间序列预测的模型 ipt Input data shape 1 data shape 2 1 x Conv1D filters 10 kernel size 3 padding causal activatio
  • Azure Functions 应用程序在发布后为只读

    我有几个 Azure Functions 应用程序 c javascript 和 python 一段时间后它们都被随机设置为只读模式 奇怪的是 在这之前 这 3 个功能应用程序中只更新了其中一个 我知道这不一定是问题 但我希望能够从门户进行
  • 动态创建字段和方法

    我想为给定的类添加新字段 变量 和封装方法 例如 班级名称 Student 没有任何字段 如下所示 public class Student implements Serializable 然后在我的应用程序中创建一个实例 Student
  • HTML5 音频事件“进度”未触发

    我正在构建一个 a v html5 流媒体网络应用程序 这个问题涉及项目的音频部分 但我确信当我开始处理视频部分时我会遇到类似的情况 我的目标设备是 iPad 的 safari 浏览器 因此我必须这样做 html5 播放效果很好 但我有一个
  • 检查相交矩形的更快方法?

    除了我的 Rect 类 public class Rect public int x public int y public int w public int h public Rect int x int y int w int h th
  • 使用 JavaScript 正则表达式将数字 HTML 实体替换为其实际字符

    我正在尝试使用 JavaScript 和正则表达式将数字 HTML 实体替换为其实际的 Unicode 字符 例如 foo 39 s bar foo s bar 这是我到目前为止得到的 foo 39 s bar replace s g 1
  • 从 BaseAdapter 调用 notificationDataSetChanged 时 ListView 不会更新

    当底层数据发生变化时 我很难更新 ListActivity 我正在使用派生的 vom BaseAdapter 的自定义 列表 适配器 CustomListAdapter 来使用自定义列表元素 CustomListElement 填充 Lis
  • Erlang 是否总是在同一节点上的进程之间复制消息?

    演员消息传递语义的忠实实现意味着消息内容是从logical观点 即使对于不可变类型也是如此 消息内容的深度复制仍然是执行者模型实现的瓶颈 因此为了性能 某些实现支持零复制消息传递 尽管从程序员的角度来看它仍然是深度复制 是否实现了零拷贝消息
  • 如何等待网络流有数据可供读取?

    我的应用程序中有一个工作线程负责三件不同的事情 对其中两个作业的请求出现在我编写的队列中 当网络流上出现请求时 另一个作业就会被激活 我希望我的工作线程在没有工作要做时等待 这对于两个队列来说很容易 因为它们公开了一个 ManualRese
  • Jquery跨域问题

    我正在尝试访问另一个域中的网络服务 但它没有返回任何内容 后来我发现这是由于跨域访问造成的问题 网上查了很多文章 但没有一篇是像我这样的新手能读懂的 有人可以帮助我如何访问网络服务吗 以下是我的代码 variables for Add Co
  • 创建一个人类可读的列表,并在 ruby​​ 列表中的最后一个元素之前插入“and”

    如何获取一个列表并将其转换为逗号分隔的字符串 并在数组中的最后一个元素之前添加 and 采取类似的东西 list1 a b c 并将其变成这样 gt a b and c 我记得 ruby 有一个方法 然而我已经搜索过 但没有找到 谢谢您的帮
  • %matplotlib 内联在 iPython 和 Jupyter 控制台上不起作用

    我是第一次尝试 Jupyter 控制台 但无法获取 matplotlib inline工作的魔力 以下是示例会话的屏幕截图 The plot shows in a separate window after I run Line 6 and
  • 将彩色图喷射到灰度图

    我有一个喷射色彩图 我想知道是否有某种方法可以转换为灰度 我不能使用平均值 因为最大值和最小值变为相同的灰色 或者是否有某种方法可以转换为另一个调色板 我在 Google 上找不到转换它的函数 MATLAB 使用一种叫做rgb2ind但我想
  • .NET - 第一次有机会进行密集调试的异常侦听器?

    这可能不切实际 但是是否有可能使组件能够收到其进程中发生的所有首次机会异常的通知 我们有一些第三方 由我们承包 组件 它们除了吃例外之外什么也做不了 而业务关系的政治使整个考验变得非常痛苦 我们还意识到 我们的一些代码正在执行令人失望的操作
  • Visual Studio 2019 的 SSDT? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我找到了VS2017版本的安装程序here 但是有2019预览版的吗 SQL Server 报告服务和 SQL Server 分析服务 SSRS S
  • 是否可以绕过 MATLAB 对矢量格式文件中字体嵌入的限制?

    根据 MA TLAB 手册 当您使用以下命令保存图形时print或通过选择file save 如果您选择painters渲染器并保存为 PDF 或 EPS 矢量格式 所有字体都被替换 有没有办法绕过这个限制 每当我输出一个数字时 我是否使用
  • 比较Java中的日期字符串[重复]

    这个问题在这里已经有答案了 所以我正在使用dateString1 compareTo dateString2 它根据每个字符的 Unicode 值与字符串进行字典顺序比较 并返回一个 int 这是一个代码示例 String dateStri
  • 如何使用一个jquery在同一页面中制作多个“阅读更多”按钮?

    我想仅使用一个 jquery 在同一页面中制作多个 多读 和 少读 按钮 当我单击 阅读更多 按钮时 它会显示一些内容 并在段落末尾显示 少读 按钮 我完成了第一步 一页中有三个阅读更多按钮 一个工作正常 但另外两个不工作 请给出一些建议
  • 从没有文字内容的页面中删除自动添加的

    (使用短代码)

    我有一个由 WordPress 驱动的网站 其主页上使用静态页面 仅使用短代码来生成内容 页面通过将首页设置为静态页面并使用 the content 来获取这些短代码 在 page php 上 页面内容没有空格 只有短代码 所以看起来像这样
  • Ruby on Rails:heroku 运行 rake 资产:预编译

    请帮我理解什么heroku run rake assets precompile确实如此 自从我开始在 ruby on Rails 上工作以来 我总是会在推送到 github 和 heroku 之前运行这三个命令 bundle exec r