2012-05-22 21 views
8

Okej, mam imagemagick zainstalowany na mojej lokalnej maszynie przez homebrew, a Gemfile.lock pokazuje spinacz zamknięty w wersji paperclip (3.0.4).Paperclip nie może znaleźć imagemagick

zgodnie z instrukcją instalacji można ustawić następujące polecenie w development.rb

Paperclip.options[:command_path] = "/usr/local/bin/" 

Które linie z tym, co mówi terminal

$ which identify 
    # => /usr/local/bin/identify 

Jednak gdy próbuję przesłać obraz, na mój formularz wypłynął następujący błąd:

/var/folders/dm/lnshrsls2zz6l4r_tkbk7j2w0000gn/T/avatar20120522-44111-gfis2q.jpg is not recognized by the 'identify' command. 

Jakie każde pytanie dotyczące SO mogę znaleźć w tej sprawie sugeruje się, że problem polega na tym, że Paperclip nie może znaleźć identyfikatora na swojej ścieżce poleceń.

użyłem generator spinacza dodać avatar do mojego bazy danych, a mój model posiada:

has_attached_file :avatar, :styles => { :medium => "300x300>", :thumb => "100x100>" } 

Ponadto, jeśli załadować rails c i spojrzeć na Paperclip.options widzę ścieżka komenda ma został poprawnie ustawiony w haszowaniu.

Nie jestem do końca pewien, co należy zrobić w tym momencie. Każda pomoc będzie doceniona.

+0

ma polecenie zidentyfikować rzeczywiście uruchomić z wiersza poleceń? na przykład $ ident -version – Ivan

+0

Zwraca 'dyld: Biblioteka nie załadowana: /usr/local/lib/libtiff.3.dylib Przywoływana z:/usr/local/bin/identification Powód: nie znaleziono obrazu Trace/pułapka BPT: 5' – DVG

+0

Czy wiesz, czy masz włączoną opcję '/ usr/local/lib' dla swojego ld.so conf? jeśli twój system operacyjny Ubuntu (i prawdopodobnie inny Linux dists) powinieneś upewnić się, że '/ usr/local/lib' znajduje się w pliku'/etc/ld.so.conf.d' (domyślnie szwy 'libc' to to , jeśli nie dodałem go ręcznie, nie pamiętam). Następnie uruchom 'ldconfig' jako root i zrestartuj serwer WWW. –

Odpowiedz

10

Cieszę się, że uruchomienie polecenia sprawiło, że zacząłeś na właściwej ścieżce.

Problem polegał na tym, że ImageMagick został skompilowany dla innej architektury:

dyld: Library not loaded: /usr/local/lib/libtiff.3.dylib Referenced from: /usr/local/bin/identify Reason: image not found Trace/BPT trap 

Odinstalowanie ImageMagick, aktualizowanie homebrew i ponownej instalacji było to słuszne.

+3

Dla mnie 'brew update && brew upgrade imagemagick' załatwił sprawę. –

0

Nie jestem do końca pewien, jaki był dokładny problem, jednak odinstalowałem Image Magick, zaktualizowałem Homebrew i ponownie zainstalowałem imagemagick, a teraz wszystko działa.

4

Na wszelki wypadek zrobiłem to działa z tej sztuczki:

ln -s /usr/local/Cellar/libtiff/3.9.5/lib/libtiff.3.dylib /usr/local/lib/libtiff.3.dylib 

I działa jak uroku :)

Powiązane problemy