I have to build a docker image on my local machine to verify whether it is a building an image or not but I am facing this issue while building the docker image on a local machine.
Installing mime magic 0.3.9 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /usr/local/bundle/gems/mimemagic-0.3.9/ext/mimemagic
/usr/local/bin/ruby -I/usr/local/lib/ruby/2.7.0/rubygems -rrubygems
/usr/local/lib/ruby/gems/2.7.0/gems/rake-13.0.1/exe/rake
RUBYARCHDIR\=/usr/local/bundle/extensions/x86_64-linux/2.7.0/mimemagic-0.3.9
RUBYLIBDIR\=/usr/local/bundle/extensions/x86_64-linux/2.7.0/mimemagic-0.3.9
rake aborted!
Could not find MIME type database in the following locations:
["/usr/local/share/mime/packages/freedesktop.org.xml",
"/opt/homebrew/share/mime/packages/freedesktop.org.xml",
"/usr/share/mime/packages/freedesktop.org.xml"]
/usr/local/bundle/gems/mimemagic-0.3.9/ext/mimemagic/Rakefile:25:in `block in
<top (required)>'
Tasks: TOP => default
(See full trace by running task with --trace)
rake failed, exit code 1
Gem files will remain installed in /usr/local/bundle/gems/mimemagic-0.3.9 for
inspection.
Results logged to
/usr/local/bundle/extensions/x86_64-linux/2.7.0/mimemagic-0.3.9/gem_make.out
An error occurred while installing mimemagic (0.3.9), and Bundler cannot
continue.
Make sure that `gem install mimemagic -v '0.3.9' --source
'https://rubygems.org/'` succeeds before bundling.
Modify the Dockerfile
to install the shared-mime-info
package. E.g. on Debian-based images:
RUN apt-get update && apt-get install -y shared-mime-info
If it still won't work, then you may need to update the mimemagic
gem. On your host, update mimemagic
in the Rails app's Gemfile
/Gemfile.lock
. You may need to install shared-mime-info
first: If the host is macOS, you may need to run brew install shared-mime-info
; if the host is Ubuntu, you may need to run apt-get install shared-mime-info
. Then run
bundle update mimemagic
If your Dockerfile
downloads the Rails app from a repo, push your changes to that repo first. Or, for testing, modify the Dockerfile
to copy in the Rails app from the host instead.
If you are using macOS, try the following
brew install shared-mime-info
bundle update mimemagic
And the try to bundle your gem file
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With