10

我在用着:

- 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 作为 gem 时是否需要?)

4

2 回答 2

15

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


通过自制软件卸载 imagemagick:

  • brew uninstall imagemagick

清理您的自制程序目录:

  • brew cleanup --force -s
  • --force 删除所有过时的仅桶装啤酒,-s 删除所有缓存的下载

重新安装 imagemagick:

  • brew install imagemagick

毕竟,你应该好好去!

于 2012-05-30T21:09:51.727 回答
0

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

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

TL;博士

brew remove libjpeg
brew install libjpeg
于 2015-05-07T14:57:32.403 回答