用Minimagick替换Rmagick后,获取'identify.im6:此图像格式没有解码委托'错误

THp*_*ubs 9 ruby-on-rails imagemagick minimagick

在我的Rails应用程序中,我刚删除Rmagick并添加Minimagick.Rmagick太重了.Rmagick的情况很好但是在minimagick中我得到以下错误:

MiniMagick::Invalid: `identify /tmp/mini_magick20150518-10411-1qz42x8` failed with error:
identify.im6: no decode delegate for this image format `/tmp/mini_magick20150518-10411-1qz42x8' @ error/constitute.c/ReadImage/544.
from /home/pubudu/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/mini_magick-4.2.4/lib/mini_magick/image.rb:200:in `rescue in validate!'
Run Code Online (Sandbox Code Playgroud)

文件网址:

[8] pry(main)> file.file.file
=> "/home/pubudu/Projects/istockseller/public/store/photos/thpubs/istockseller-13642162-wallhaven-61582.jpg"
Run Code Online (Sandbox Code Playgroud)

我试图运行的代码:

MiniMagick::Image.read(file.file.file).first
Run Code Online (Sandbox Code Playgroud)

Sha*_*lit 6

尝试重新安装 ImageMagick 并添加--with-jpeg=yes到配置中。

运行convert -list configure,看看你是否有jpegDELEGATES。如果没有,请重新安装 ImageMagick并将参数添加到./configure

1. wget http://www.imagemagick.org/download/ImageMagick.tar.gz
2. tar xvfz ImageMagick.tar.gz
3. cd ImageMagick
4. ./configure --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes --disable-shared
5. make
6. sudo make install
7. sudo ldconfig /usr/local/lib
8. run again "convert -list configure" and look at changes
Run Code Online (Sandbox Code Playgroud)

有关更多信息:Carrierwave 错误消息:无法使用 MiniMagick 进行操作,也许它不是图像?