如何减少heroku slug大小?

时间:2011-08-31 11:07:24

标签: heroku bundler gemfile

我的slug大小是89.5MB,这是巨大的。

但是存储库大小非常小:

$ du -hsc 
8.0M    . 
8.0M    total

关注此博文:http://dazedthots.blogspot.com/2011/07/reducing-slug-size-heroku.html,Heroku上存在更改Gemfiles的错误。我已经改变了几次,包括git依赖,但现在,唯一的git依赖是“rails_admin”。见下文:

source 'http://rubygems.org'

gem 'rails',      '~> 3.1.0'
gem 'rails-i18n', '~> 0.1.3'
gem 'pg',         '~> 0.11.0'
gem 'rake',       '~> 0.8.7'
gem 'thin', '~> 1.2.11'
gem 'heroku', '~> 2.4.0'
gem 'squeel',     '~> 0.8.6'
gem 'devise', '~> 1.4.2'
gem 'slim-rails',  '~> 0.2.0'
gem 'simple_form', '~> 1.4.2'
gem 'will_paginate', '~> 3.0'
gem 'sunspot_rails', '~> 1.2.1'
gem 'jquery-rails',    '~> 1.0.12'
gem 'modernizr-rails', '~> 2.0.6'
gem 'rails_admin', git: 'https://github.com/sferik/rails_admin.git'
gem 'sass-rails',   '~> 3.1.0'
gem 'coffee-rails', '~> 3.1.0'
gem 'uglifier',     '~> 1.0.0'
gem 'newrelic_rpm'

我已经联系了Heroku支持,但直到现在才回答?有什么想法吗?

5 个答案:

答案 0 :(得分:5)

最后,3天后,Heroku清理了我的缓存。 现在一切都很好,虽然我的slu is仍然是54MB,看起来太大了。

Heroku确认除了联系他们以解决此问题之外没有其他解决方案。希望它将在未来的bundler版本中得到解决。

答案 1 :(得分:4)

通过列出.slugignore文件中的目录,我已经能够在这里和那里减少几兆字节。在此问题得到解决之前,这可能会帮助您保持在100mb的限制之下。

您可能还想尝试将更改推送到没有历史记录的新存储库,因为看起来Heroku会使用您引用的克隆git树的完整大小来惩罚您。

答案 2 :(得分:0)

由于Heroku已经在你引用的帖子中承认了这个问题,我会等待并坐下来,直到Heroku修复它的结尾。我认为你已经研究过使用.slugignore文件减少slu size大小的其他一些方法了吗?

Slug大小将包括你所有的宝石所以你使用的宝石越多你的slug尺寸就越大,因为现在每个Heroku应用程序都维护它自己的宝石。我没有听说过:git引用了更多空间的宝石,但我现在已经有了。

答案 3 :(得分:0)

为我解决问题的诀窍:

什么有效:我制作了另一个文件夹。我在那个文件夹中搜索git。我删除了xml文件上的文件,然后我尝试上传到Heroku,它工作。

答案 4 :(得分:0)

和你一样,我的 ruby​​ 仓库只是我的 heroku slug 大小的一小部分。我听从了this heroku guide的建议 通过运行来探索我的 heroku dyno 上未压缩的 slug:

$ heroku run bash -a [app-name]

我的大部分空间都被 heroku 上 /vendors 下的 gem 源文件占用了。这些源文件不在我的仓库中。我找到了一个用于 Gemfile 依赖项的 250MB 二进制文件,我正在替换它。