carrierwave + mini_magick gems =不是图像错误

luk*_*ups 10 image-resizing ruby-on-rails-3 carrierwave minimagick

我正在使用:

- carrierwave 0.6.0
- rails 3.2.1
- mini_magick 3.4
- ruby 1.9.2p290
Run Code Online (Sandbox Code Playgroud)

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

(image_uploader.rb)
process :resize_to_fit => [200, 200]
Run Code Online (Sandbox Code Playgroud)

但图片上传后我遇到了一个错误:

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
Run Code Online (Sandbox Code Playgroud)

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

PS2.我试着添加config/environment.rb:

require 'rubygems'
require "mini_magick"
Run Code Online (Sandbox Code Playgroud)

但没有成功(仍然没有工作 - 顺便说一下.当使用mini_magick作为宝石时是否需要?)

B. *_*ill 15

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


通过自制程序卸载imagemagick:

  • brew uninstall imagemagick

清理您的自制目录:

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

重新安装imagemagick:

  • brew install imagemagick

毕竟,你应该好好去!