Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cleaning up the bundler cache when deploying to heroku

Whenever I'm deploying to Heroku (Ruby on Rails app using the heroku_san gem) it says the following:

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) 

(or any other old gem I might have from previous deployments) How can I clean the bundler cache in the Heroku app? I tried to run:

heroku run bundle clean --force 

but it did not help.

Can anyone tell me how to clean the bundler cache in Heroku? Or if I should ignore this message?

like image 705
Rubinsh Avatar asked Jan 26 '13 16:01

Rubinsh


People also ask

How do I clear cache on Heroku?

Anyways, you can clear the build cache of an app easily by installing heroku-builds plugin. Note: The cache will be rebuilt on the next deployment. If you do not have any new code to deploy, you can push an empty commit.

How do I clear a build cache?

Builds are cached by branch. If you want to manually clear the cache and trigger a new build you can do so by clicking on the Trigger build dropdown button and selecting the Clear cache and build option.

Does heroku cache?

Heroku doesn't provide HTTP caching by default. In order to take advantage of HTTP caching, you'll need to configure your application to set the appropriate HTTP cache control headers and use a content delivery network (CDN) or other external caching service.


2 Answers

This is due to a recently-introduced change in Bundler. We (Heroku) need to track down why it thinks it is running in --dry-run mode and fix it.

In the meantime, this is not harmful and shouldn't cause any issues. Unfortunately, there's no way to clear your cache manually if you're worried about it.

like image 185
wuputah Avatar answered Sep 22 '22 15:09

wuputah


I also get this on every Heroku app I've ever deployed and have yet to experience problems.

Here's why I think you don't have to worry about it:

  • Having a bunch of stored gems on their server shouldn't slow down your app. Heck, even if you threw in a bunch of gems you didn't need into your Gemfile, the noticeable performance hits are likely to be to your app's initial launch time and subsequent memory use. And if those gems aren't in your Gemfile, the performance hit to your app should be nil.
  • While Heroku has a soft limit of 100MB for slugs on a free account, my own anecdotal evidence suggests that this does not include gems you've removed from your Gemfile (which makes sense if the wild speculation below is correct).

And here's wild speculation as to why Heroku isn't cleaning the bundler cache:

Memory is more expensive than hard drive space, so while most gems might take up a trivial amount of space on a hard drive, they can add up if a ton of gems have to be loaded into memory. However, if a gem isn't in your Gemfile, it won't be in memory. And it's very likely more expensive to remove (and possibly later re-download) a gem than it is to keep it stored on the drive, just in case you later change your mind and want to re-add it to your Gemfile.

like image 25
Chris Fritz Avatar answered Sep 18 '22 15:09

Chris Fritz