2012-03-28 13 views
10

Używam:carrierwave + mini_magick perełki = nie obraz błąd

- carrierwave 0.6.0 
- rails 3.2.1 
- mini_magick 3.4 
- ruby 1.9.2p290 

A podczas przesyłania obrazu Chcę zmienić rozmiar przesyłaniem pic:

(image_uploader.rb) 
process :resize_to_fit => [200, 200] 

Ale po przesyłania obrazu Mam błąd:

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. Jeśli nie zmieniam rozmiaru, przesyłanie zdjęć działa poprawnie.

PS2. Próbowałem dodać w config/environment.rb: (. Nadal nie działa - btw jest to niezbędne przy korzystaniu mini_magick jako gem?)

require 'rubygems' 
require "mini_magick" 

ale bez powodzenia

Odpowiedz

16

Jestem pewien, że” już rozwiązany przez to teraz, ale tutaj jest to rozwiązanie, które pracował dla mnie właśnie teraz (przynajmniej mam nadzieję, że to już prawie dwa miesiące później!):


Odinstaluj ImageMagick przez homebrew:

  • brew uninstall imagemagick

Wyczyść swoją homebrew katalogu:

  • brew cleanup --force -s
  • --force usuwa wszystko z datą keg tylko warzy, -s usuwa wszystkie przetrzymywane pobrań

Zainstaluj ponownie imagemagick:

  • brew install imagemagick

Po tym wszystkim, powinien być dobry, aby przejść!

+1

hah! Rozwiązałem to, ale dzięki za pomoc! :) Przy okazji. nie jest homebrew tylko dla mac? Jestem na Ubuntu;) – mrmnmly

+1

@ofcapl Oh man, it is! Mój błąd! Myślę, że patrzyłem na podobny problem, w którym osoba z problemem używała homebrew i trochę się pomyliłem ... Przepraszam! –

+0

@Ruschill. Działa dla instalacji homebrew. Każdy pomysł, dlaczego jest to konieczne? Poczucie, że imagemagick jest krucha. – Jerome

0

B. Odpowiedź Ruschilla rozwiązała problem wielu ludzi, niestety nie dla mnie. Nie znalazłem też wielu rozwiązań, które znalazłem w internecie.

Okazało się, że miałem nieaktualną wersję libjpeg. Naprawiłem to, usuwając i ponownie instalując przy użyciu naparu. Może się to zdarzyć w przypadku innych formatów obrazu. Być może wykonanie tego samego dla odpowiednich modeli może rozwiązać problem.

TL; DR

brew remove libjpeg 
brew install libjpeg 
Powiązane problemy