diasks2
diasks2

Reputation: 2142

How to reset Heroku Rails4 asset pipeline cache

According to Heroku documentation:

Heroku now caches 50mb worth of tmp/cache/assets which is a cache directory for the asset pipeline to store intermediate files. This means that future asset compilations will be faster due to not having to recalculate these files.

My question is how do I manually reset or delete this cache so that all of my assets have to be precompiled again? I tried heroku run console and Rails.cache.clear but it did not work. The reason I want to reset the cache is I have changed the config.action_controller.asset_host in my production.rb file but Heroku is not picking up on the change because of the cache.

Upvotes: 9

Views: 9514

Answers (5)

Isaac Betesh
Isaac Betesh

Reputation: 3000

As this Stack Overflow answer explains, config.assets.version exists for this purpose.

Most likely, you'll find it in config/application.rb or config/initializers/assets.rb. Change it to any value you want to break the cache next time you deploy to any environment.

Upvotes: 1

jstnno
jstnno

Reputation: 1045

I had this problem, then i realized I forgot to configure to serve static assets on the production env, inside config/enviroments/production.rb

config. serve_static_files = true

Upvotes: 1

user1854802
user1854802

Reputation: 388

Hopefully this helps. To get changes to Heroku in development I run rake assets:clean and then rake assets:precompile RAILS_ENV=production --trace before committing and pushing to Heroku

Upvotes: 13

dodgio
dodgio

Reputation: 2339

To purge Heroku's asset cache, you need the Heroku Repo plugin to the Heroku toolbelt. Install that, then use the command

heroku repo:purge_cache

Deploy after purging the cache.

Upvotes: 16

Absurdim
Absurdim

Reputation: 233

For cleaning assets, run:

rake assets:clobber

Upvotes: 4

Related Questions