部署到heroku时清理bundler缓存

时间:2013-01-26 16:57:51

标签: ruby-on-rails heroku bundler heroku-san

每当我使用heroku_san gem部署到Heroku(Ruby on Rails应用程序)时,它会说:

Cleaning up the bundler cache.
Would have removed sitemap_generator (2.0.1.pre1)
Would have removed newrelic_rpm (3.5.5.38)
Would have removed httparty (0.10.0)
Would have removed thor (0.16.0)
Would have removed ckeditor (3.7.1)
Would have removed fog (1.8.0)
Would have removed rake (0.9.2.2)
Would have removed dalli (2.6.0)

(或以前部署中我可能拥有的任何其他旧gem) 如何清除Heroku应用程序中的bundler缓存? 我试着跑:

heroku run bundle clean --force

但它没有帮助。

有人能告诉我如何在Heroku中清理捆绑缓存吗? 或者如果我应该忽略这条消息?

2 个答案:

答案 0 :(得分:22)

这是由于Bundler最近推出的更改。我们(Heroku)需要追踪它认为它在--dry-run模式下运行的原因并修复它。

与此同时,这不是有害的,不应该引起任何问题。不幸的是,如果您担心它,就无法手动清除缓存。

答案 1 :(得分:5)

我也会在我部署过的所​​有Heroku应用程序中得到这个,并且还没有遇到问题。

这就是我认为您不必担心的原因:

  • 在服务器上放置一堆存储的宝石不应该减慢您的应用程序速度。哎呀,即使你把一堆你不需要的宝石扔进你的Gemfile,明显的性能命中可能是你的应用程序的初始启动时间和随后的内存使用。如果你的Gemfile中的那些gems 不是,那么你的应用程序的性能命中应该是零。
  • 虽然Heroku在免费帐户上有一个100MB的软限制,但我自己的轶事证据表明,这不包括你从Gemfile中删除的宝石(如果下面的疯狂推测是正确的,这是有意义的)。 / LI>

以下是关于为什么Heroku没有清理捆绑缓存的疯狂猜测:

内存比硬盘驱动器空间更昂贵,因此虽然大多数宝石可能占用硬盘驱动器上的大量空间,但如果必须将大量宝石加载到内存中,它们可以相加。但是,如果gem不在您的Gemfile中,它将不在内存中。删除(以及可能以后重新下载)一个gem比将它保存在驱动器上更加昂贵,以防万一你以后改变主意并想重新添加到你的Gemfile中。

相关问题