2012-04-07 5 views
1

Ich verwende die Carrier_wave- und mini_magick-Edelsteine ​​zusammen mit ImageMagick in einer Rails-App. Alle Versionen sind so aktuell wie möglich.Bildgröße ändern mit mini_magick, aber keine Datei im Verzeichnis/tmp

Es funktioniert gut im Entwicklungsmodus. Allerdings habe ich gerade die App bereitgestellt und es funktioniert nicht im Produktionsmodus.

Das Problem tritt auf, wenn ich mini_magick fordern Sie ein Bild, um die Größe:

rake aborted! 
No such file or directory - gm identify -ping /tmp/mini_magick20120407-19273-jjzz44.jpg 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/subexec-0.2.1/lib/subexec.rb:71:in `spawn' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/subexec-0.2.1/lib/subexec.rb:71:in `spawn' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/subexec-0.2.1/lib/subexec.rb:55:in `run!' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/subexec-0.2.1/lib/subexec.rb:41:in `run' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:405:in `run' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:399:in `run_command' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:198:in `valid?' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:163:in `create' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:73:in `read' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:134:in `block in open' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:133:in `open' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/mini_magick-3.4/lib/mini_magick.rb:133:in `open' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/carrierwave-0.6.0/lib/carrierwave/processing/mini_magick.rb:245:in `manipulate!' 
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/carrierwave-0.6.0/lib/carrierwave/processing/mini_magick.rb:145:in `resize_to_fit' 

Wenn ich die CarrierWave Anfrage zu ‚resize_to_fit‘ kommentieren Sie das Bild alles funktioniert.

ich gelesen habe, wo mini_magick einige Probleme mit einer Race-Bedingung hatte , wo die Dateien in das Verzeichnis/tmp durch die Garbage Collector gelöscht wurden, bevor mini_magick sie verarbeiten können, aber diese Fällen schien mit großen Bildern zu beschäftigen und/oder Cloud-Speicher.

Meine Bilddatei ist nur 6K und alles lokal ist, so finde ich es schwer zu glauben, dass die Garbage Collector in ist Swooping und Löschen die/tmp-Datei, bevor es geändert werden kann. (Aber dann wieder habe ich keine Idee des Timings dieser Dinge, so könnte ich mich irren.)

Kann mir jemand dabei helfen?

Danke, Larry

+0

Ist 'tmp'-Verzeichnis in der Produktion vorhanden? – MikDiet

+0

Haben Sie eine Lösung gefunden? Die Installation von minimagick löst es nicht für mich. – rohitmishra

Antwort

3

ImageMagick Fehlende

Check (auf Fedora Core/CentOS/RHEL 5): rpm -qa | grep ImageMagick

installieren (auf Fedora Core/CentOS/RHEL 5): yum install ImageMagick

+0

Hi Movingahead: Ich habe das Problem gelöst. Es war nur ich dumm. Was passierte, war, dass ich ursprünglich ImageMagick benutzte, aber später zu GraphicsMagick wechselte. Ich hatte GraphicsMagick lokal installiert und alles hat gut funktioniert. Oben auf dem Server habe ich ImageMagick installiert, somit hat nichts geklappt. Sobald ich GraphicsMagick auf dem Server installiert hatte, funktionierten die Dinge wieder. Hoppla! – Larry