Carrierwave + mini_magick gems = не ошибка изображения

Я использую:

- 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 в качестве драгоценного камня?)


person lukaszkups    schedule 28.03.2012    source источник


Ответы (2)


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


Удалите imagemagick через доморощенный:

  • brew uninstall imagemagick

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

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

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

  • brew install imagemagick

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

person B. Ruschill    schedule 30.05.2012
comment
ха! Я решил это, но все равно спасибо за помощь! :) Кстати. разве доморощенный не только для Mac? Я на Ubuntu ;) - person lukaszkups; 31.05.2012
comment
@ofcapl О боже, это так! Моя ошибка! Я думаю, что смотрел на аналогичную проблему, когда человек с проблемой использовал доморощенный, и я немного запутался... Извините за это! - person B. Ruschill; 31.05.2012
comment
@Ручилл. Работает для доморощенной установки. Любая идея, почему это необходимо? Получение чувства imagemagick хрупко. - person Jerome; 11.11.2014
comment
@shajin - извините, но не совсем - я помню, что нашел решение по ссылке в своем ответе, но обнаружил, что мой ответ был удален модератором, потому что предоставленная мной ссылка больше не существует :/ - person lukaszkups; 30.07.2015

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

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

TL;DR

brew remove libjpeg
brew install libjpeg
person Chirantan    schedule 07.05.2015