carrierwave + mini_magick gems =不是图像错误

时间:2012-03-28 10:20:42

标签: ruby-on-rails-3 carrierwave image-resizing minimagick

我正在使用:

- carrierwave 0.6.0
- rails 3.2.1
- mini_magick 3.4
- ruby 1.9.2p290

在图片上传过程中,我想调整上传图片的大小:

(image_uploader.rb)
process :resize_to_fit => [200, 200]

但是在图片上传后我遇到了错误:

1 error prohibited this organization from being saved:
Image image Failed to manipulate with MiniMagick, maybe it is not an image? Original Error: MiniMagick::Invalid

PS。如果我没有调整大小,图片上传工作正常。

PS2。我尝试添加config / environment.rb:

require 'rubygems'
require "mini_magick"

但没有成功(仍然无法正常工作 - 顺便说一句。使用mini_magick作为宝石时是否需要?)

2 个答案:

答案 0 :(得分:16)

我确信你现在已经解决了这个问题(至少有希望!这已经差不多两个月了!),但这里有一个对我有用的解决方案:


通过自制程序卸载imagemagick:

  • brew uninstall imagemagick

清理自制程序目录:

  • brew cleanup --force -s
  • - 强制删除所有过时的keg-only brews,-s删除所有缓存的下载

重新安装imagemagick:

  • brew install imagemagick

毕竟,你应该好好去!

答案 1 :(得分:0)

B中。 Ruschill的回答似乎已经解决了许多人的问题。问题,不幸的是,它对我来说并不适合。我没有在互联网上找到很多解决方案。

原来我有一个过时的libjpeg版本。我通过使用brew删除并重新安装来修复此问题。其他图像格式也可能发生这种情况。也许对相应的lib做同样的事情可能会解决问题。

TL; DR

brew remove libjpeg
brew install libjpeg