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 в качестве драгоценного камня?)
Ответы
Ответ 1
Я уверен, что вы решили это к настоящему времени (по крайней мере, надеюсь, это почти два месяца спустя!), но вот решение, которое сработало для меня только сейчас:
Удалить imagemagick через homebrew:
-
brew uninstall imagemagick
Очистите каталог homebrew:
-
brew cleanup --force -s
- - принудительно удаляет все устаревшие бочонки, -s удаляет все кэшированные загрузки
Переустановите imagemagick:
После всего этого вам должно быть хорошо идти!
Ответ 2
В. Ответ Рушилла, похоже, решил проблему многих народов, к сожалению, это не для меня. Также не было найдено много решений в интернетах.
Оказывается, у меня была устаревшая версия libjpeg
. Я исправил это путем удаления и повторной установки с помощью brew. Это может случиться и для других форматов изображений. Возможно, сделать то же самое для соответствующего lib
может решить проблему.
TL; DR
brew remove libjpeg
brew install libjpeg