mini_magick gem doesn't work with my ImageMagi

2019-02-19 18:50发布

问题:

I have the ImageMagick installed via MacPorts and the mini_magick gem and I get an error for the following script. How can I resolve this problem?

require 'rubygems'
require 'mini_magick'

image = MiniMagick::Image.open("input.jpg")
image.resize "100x100"
image.write  "output.jpg"



/Users/Max/.rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:164:in `create': MiniMagick::Invalid (MiniMagick::Invalid)
    from /Users/Max/.rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:73:in `read'
    from /Users/Max/.rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:134:in `block in open'
    from /Users/Max/.rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:133:in `open'
    from /Users/Max/.rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:133:in `open'
    from minimagick.rb:4:in `<main>'

回答1:

Try reinstall ImageMagick, if you use Mac OS X:

brew uninstall imagemagick jpeg libtiff jasper
brew install imagemagick

For check if JPG format is now available:

identify -list format | grep JPG

This will return the available formats JPG...



回答2:

It appears as though MiniMagick can't understand the file. See this comment in the source:

Checks to make sure that MiniMagick can read the file and understand it.

This uses the 'identify' command line utility to check the file. If you are having issues with this, then please work directly with the 'identify' command and see if you can figure out what the issue is.



回答3:

In my case it broke after installing ghostscript, through homebrew. I think ghostscript installed some ImageMagick dependency and broke it. Reinstalling ImagEMagick fixed the issue. :)