2009-10-07 9 views
12

Ich bin in meinem development.log den folgenden Fehler bekommenPaperclip Fehler

[Büroklammer] Es wurde ein Fehler empfangen, während die Verarbeitung: # < Büroklammer :: NotIdentifiedByImageMagickError:/tmp/stream28514-0 wird nicht durch die anerkannten " identifizieren‘command>

und ich habe diesen Fehler gegoogelt und ich fand heraus, dass viele Menschen dies, indem diese Zeile gelöst haben Paperclip.options. [: command_path] =‚/ usr/local/bin‘

Allerdings bekomme ich immer noch den gleichen Fehler, auch nach dem Hinzufügen dieser Zeile! Ich habe alles Mögliche versucht!

Jede Hilfe wäre sehr willkommen!

Grüße,

Punit

+0

Welches Betriebssystem verwenden Sie?/usr/local/bin ist nur auf einem Unix-basierten System sinnvoll. – Karl

+0

yeah ich bin auf ubuntu –

Antwort

11

Die Paperclip.options [: command_path] Einstellung für den Standort Ihrer ImageMagick Executables ist (in diesem Fall identifizieren). Versuchen Sie, which identify auszuführen, und legen Sie die Option als das Verzeichnis fest, das zurückgegeben wird. Wenn dieser Befehl nichts zurückgibt, stellen Sie sicher, dass ImageMagick ordnungsgemäß installiert ist.

+1

Hey, danke für deine Antwort. welche identifizieren returns/usr/local/bin Auch ich bemerkte etwas seltsames. Der Pfad/tmp/stream28514-0 ist nicht gültig. Die Datei wird nicht gespeichert.Weiß jemand, warum das passiert? –

+0

Büroklammer sollte die Dateien entfernen, nachdem es fertig ist, sie zu verarbeiten. Könnten Sie versuchen, identifizieren von der Befehlszeile? Ich hatte vor kurzem ein ähnliches Problem, als ich ImageMagick verbesserte und vergessen habe, ldconfig danach auszuführen. – tliff

3

Es bedeutet, dass es die ImageMagick-Programmdatei identify nicht an der Position finden kann, die Sie in Paperclip.options[:command_path] (in Ihrem Fall /usr/local/bin) angegeben haben.

Dies wird tipically von zwei Grund verursacht:

  1. Es könnte sein, dass Sie haben tatsächlich ImageMagick nicht installiert.
    • SOLUTION: installieren Sie es:
      • Für MAC: sudo port install ImageMagick
      • Für UBUNTU (die die Binär-Version installiert): Es könnte sein, dass der Ort, an dem sudo sudo apt-get install imagemagick
  2. Sie installiert ImageMagick ist nicht /usr/local/bin aber etwas anderes.

    • SOLUTION: finden, wo es installiert ist, oder über den Befehl:

      which identify (in dem Fall, dass in der aktuellen PATH identifizieren, wie es sein soll)

    oder über eine rohe Suche durch das Dateisystem:

    find/-name identify

Auf jeden Fall sollte die übliche Lage für diejenigen Datei in Ubuntu sein /usr/bin

5

Hier ist, was für mich gearbeitet ...

Ich deinstallierte das ImageMagick, das ich von der offiziellen Webseite installiert habe. ich neu installiert es von sudo apt-get install imagemagick

dann habe ich schreibe Paperclip.options [: command_path] = "auf/richtig/path"

DAS PROBLEM HIER ...

wenn Ich rannte "die identifizieren" es scheint, dass der Pfad war "usr/local/bin/identifizieren" es bedeutet, dass wir ich als Pfad "usr/local/bin" als meinen Pfad setzen sollte.

ABER ES NICHT GEARBEITET!

Ich fand überraschend, dass ich identifizieren auch im "usr/bin" -Pfad war. So änderte ich: "usr/local/bin" zu "usr/bin"

Und das war alles!

+0

Ich hatte es bereits installiert, aber die Neuinstallation über 'brew upgrade ImageMagick' reparierte es für mich. Benötigte nicht einmal die Option 'command_path' –

0

usr/bin arbeitete mich (Fedora 14-Kern)

0

Versuchen Sie den Befehl in der Befehlszeile identifizieren laufen und sehen, ob, dass Sie einige Fehlermeldung gibt. Ich habe herausgefunden, dass auf meinem Server einige Delegate-Bibliotheken fehlen.

identify example.jpg 
2

Es gibt zwei mögliche Probleme:

  1. Image Magick ist nicht installiert oder gebrochen
  2. Büroklammer nicht in der Lage ist Image Magick

Nehmen wir sie einer nach dem anderen zu finden :

1. Überprüfen Sie, ob Image Magick installiert ist d und es funktioniert

Typ:

identify 

in der Befehlszeile, sollte es funktionieren. Wenn es nicht gefunden wird oder nicht funktioniert, installiere Image Magick. Hat das das behoben? Wenn nicht, weiter:

2. Hilfe Büroklammer findet Image Magick

Typ:

which identify 

in der Befehlszeile den Pfad zur Identifizierung Befehl zu erhalten. Fügen Sie nun in production.rb die folgende Zeile zum Konfigurationsblock hinzu:

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

Starten Sie Ihren Server neu. Das sollte es beheben.