carrierwave + mini_magick gems = не ошибка изображения - PullRequest
10 голосов
/ 28 марта 2012

Я использую:

- 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 ]

16 голосов
/ 31 мая 2012

Я уверен, что вы уже решили это (по крайней мере, надеюсь! Это почти два месяца спустя!), Но вот решение, которое сработало для меня только сейчас:


Удалите imagemagick с помощью homebrew:

  • brew uninstall imagemagick

Очистите ваш домашний каталог:

  • brew cleanup --force -s
  • - принудительно удаляет все устаревшие версии, содержащие только кеги, -s удаляет все кэшированные загрузки

Переустановите imagemagick:

  • brew install imagemagick

После всего этого, вам должно быть хорошо идти!

0 голосов
/ 07 мая 2015

B.Ответ Рассела, казалось, решил проблему многих людей, к сожалению, не для меня.Не так много решений, которые я нашел в интернете.

Оказывается, у меня была устаревшая версия libjpeg.Я исправил это, удалив и переустановив с помощью brew.Это может произойти и для других форматов изображений.Возможно, то же самое для соответствующих lib с может решить проблему.

TL; DR

brew remove libjpeg
brew install libjpeg
...