Heroku: LoadError: cannot load such file -- mimemagic/overlay

Viewed 1356

I'm getting an error when uploading a release to heroku.

! LoadError: cannot load such file -- mimemagic/overlay

I successfully ran the 'bundle exec rake -P' command as advised but could not see any mimemagic in the output. I've never had to think about mimemagic before. I think its pulled in by other gems, notably 'carrierwave'. I've found a conversation (https://github.com/rails/rails/issues/41757) where them gem has been amended in the last few days and wonder whether I've been caught by a breaking update.

4 Answers

Mimemagic is a dependency of Marcel which is a dependency of a dependency of ... ActiveStorage. The maintainers just changed the license (I think this week), which caused a ruckus.

You want mimemagic at a version between 3.6 and 3.9. You could set it in your Gemfile gem "mimemagic", "~> 0.3.6". Then run bundle update marcel mimemagic. If you're on a mac, run brew install shared-mime-info first.

in my case, just update rails version to

gem "rails", "~> 5.2.5"

then bundle update

What worked was updating rails in my gemfile to gem 'rails', '~> 5.2.5' and then running bundle update as @asharijuang mentioned above.

Then I was able to finally push to Heroku after being stuck on this for a few days

A few of the things I tried unsuccessfully:

gem install mimemagic

brew install shared-mime-info then bundle update marcel mimemagic

In the end is was quite simple. Include:- gem 'mimemagic', '~> 0.3.10' in the Gemfile. The entry specifically requires a set version, thus avoiding the versions that got pulled. At some point in the future I'll replace 'carrierwave' with the vanilla 'ActionStorage'.

Related