ruby-on-rails - Heroku Slug 大小为 237MB, repo 大小为 70MB

标签 ruby-on-rails ruby heroku

统计

Stack: Cedar
Framework: Ruby
Repo Size: 78.3MB
Slug Size: 237MB of 300MB

致 Heroku 支持人员的信

我的 Slug Size 一直膨胀到 237MB。我的 repo 大小只有 75MB 左右。我确定原因是我的 Assets 在我的 slug 中多次存储,占用了不必要的空间。

我第一次预编译了我的 Assets ,所以我的图像会出现在 Heroku 上。我想减小 slug 的大小,所以我优化了图像。为了减少加载时间,我减小了图像的大小。然后我再次预编译它们。我的 slug size 没有用新图像替换旧图像,而是存储了两组图像。

我运行了 heroku run bash,以打开我的应用程序的命令提示符。之后,我将 CD 放入我的 assets/images 目录并运行 ls。我发现在路径中

app/assets/images

有 3 组图像。

在路径中

public/assets/images

有2组图片

这对我的应用程序来说是一个巨大的负担,如果我能解决这个问题,我可以将 slug 大小至少减少一半。我尝试在这些目录中运行

rmdir Dirname

但是我不能删除它们,因为它们里面有文件。

我正在尝试删除我一开始就不想删除的不必要的文件。我已经搜索了您的文档,但您没有描述如何从您的 slug 中删除文件。

我也不想丢失我应用中的任何数据,因为构建这些数据需要花费大量时间。

请回复我这个问题的答案。

结束信

基本上,这是一只巨大的信天翁,它快把我逼疯了。我试过运行

heroku run bash

为我的应用程序输入命令提示符

我进入我的应用程序的 app/assets/images 目录,但我不喜欢我所看到的。在每个子目录下,我看到每个图像的三个副本。啊啊啊!在 public/assets/images 下,我看到了每张图片的两份副本。

我想知道是否有办法去除这只信天翁,因为这简直是在浪费我的时间。

最佳答案

一个有用的方法是将 .slugignore 文件添加到项目的根目录,以告诉 Heroku 不要将某些文件或目录编译到 slug 中。我的看起来像这样:

*.psd
*.pdf
test
spec
features
doc
public

公共(public)条目在那里,因为我提供来自亚马逊 S3 服务的所有静态文件;如果您不使用外部内容交付系统,请将该行关闭。

关于ruby-on-rails - Heroku Slug 大小为 237MB, repo 大小为 70MB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25513065/

相关文章:

ruby - 运行 Ruby 脚本而不直接调用它

ruby - 使用 Cucumber、Mechanize、Webrat 拯救 HTTP 404 Mechanize::ResponseCodeError 异常

python - Django Celery 周期性任务运行但 RabbitMQ 队列未被消耗

ruby-on-rails - Heroku 拒绝成熟应用中的推送(pre-receive hook declined)

python - 将 Python 的 base64.b64encode(hmac.new().hexdigest()) 转换为 Ruby

python - 在 Flask 应用程序中使用 Gunicorn 和 Multiprocess

python - 从我的电脑访问 Heroku Bonsai 上的 elasticsearch

ruby-on-rails - 如何使用 Rspec 在 Rails 中测试模型默认值

ruby-on-rails - 在 Virtuablbox 中的小型 Linux 发行版上开发 Ruby Rails 应用程序

ruby-on-rails - ActiveRecord:如何找到所有 child 都符合条件的 parent ?