rails notidentifiedbyimagemagickerror missingrequiredvalidatorerror game errors ruby-on-rails paperclip

ruby-on-rails - notidentifiedbyimagemagickerror - paperclip::errors::missingrequiredvalidatorerror



rails paperclip and passenger `no está reconocido por el comando ''identify'' (14)

Cuando cargo una foto, mi modelo falla la validación, se equivoca, incluso sin ninguna validación Me devuelve este error:

/tmp/stream20100103-13830-ywmerx-0 is not recognized by the ''identify'' command. and /tmp/stream20100103-13830-ywmerx-0 is not recognized by the ''identify'' command.

Estoy seguro de que esto no está relacionado con ImageMagick porque eliminé el procesamiento de imágenes de la carga, también intenté subir diferentes tipos de mime, como archivos .txt y similares.

Además, encontré algo que puede funcionar. Una publicación de blog afirma que pongo lo siguiente en mi entorno (en este caso, desarrollo.rb)

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


Esto está relacionado con ImageMagick. La opción de command_path necesita apuntar a la ubicación donde está instalada la identify . Desde la línea de comandos, puede determinar esto con which identify .

$ which identify /some/path/to/identify

Después, configure command_path para esa ruta (en config/environments/development.rb ):

Paperclip.options[:command_path] = "/some/path/to"



Esto me sucedió cuando actualicé OS X a Lion.

Resuelto por ...

Nota, antes de que se reinstalara ghostscript, tuve que aplicar la sugerencia que se encuentra aquí: https://github.com/mxcl/homebrew/issues/6381

brew edit ghostscript

A continuación, agregue el bloque de def patches al final de la clase Ghostscript:

class Ghostscript < Formula .... existing code here .... def patches { :p0 => ''http://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc/print/ghostscript/patches/patch-ak'' } end end

El parche anterior se puede combinar para cuando lo leas.

Después de eso, Imagemagick detectó jpegs correctamente de nuevo.

TL; DR desinstala completamente y vuelve a instalar homebrew, ghostscript (con parche para Lion) y imagemagick


Esto también puede deberse al uso de versiones bastante antiguas de Paperclip (por ejemplo, versión 2.4.x) con versiones más nuevas e incompatibles de la gema de la Cocaine .


Lo hice funcionar instalando brew, http://mxcl.github.com/homebrew/

Y luego escribí:

brew install imagemagick

y después de eso

gem install rmagick

Luego, simplemente eliminé las rutas de opción (Paperclip.options [: ruta_de_comandos] = "...") que escribí manualmente en environment / development.rb e initialize / paperclip.rb

Se agregó rmagick al archivo gem. ¡Reinicié el servidor y funcionó como un encanto!


Para agregar una solución potencial más que no he visto discutido mucho: ldconfig .

Tuve el mismo problema que acabo de pasar un día y medio rastreando. DYLD_LIBRARY_PATH adecuadamente ImageMagick desde el origen con el soporte adicional png y jpeg, agregué LD_LIBRARY_PATH y DYLD_LIBRARY_PATH a las variables de entorno, establecí la opción :command_path para Paperclip en la configuración de mi entorno de producción. Aunque los comandos de ImageMagick funcionaron desde la línea de comandos, nada solucionó mi problema con Paperclip.

Finalmente, después de ver a ldconfig mencionado de pasada, lo intenté por capricho, y funcionó.

sudo ldconfig

Pude haber logrado lo mismo reiniciando Apache o el hardware, pero no estaba en condiciones de hacerlo por mi cuenta.


Por lo general, ayuda a especificar la ruta al comando de identificación con ..

Paperclip.options[:command_path] = "/your/path/to/identify"

.. como los otros mencionaron. Pero el problema también puede ocurrir si hay una discrepancia en la versión, recientemente actualicé la versión de Ruby-on-Rails de una aplicación (a Rails 3.1.10), pero olvidé actualizar la gema paperclip. Después de actualizar la versión del clip a 2.8.0, funcionó de nuevo.


Pude resolver esto haciendo lo siguiente:

brew uninstall imagemagick brew install imagemagick


Si usted es un usuario de Mac y esto solo ha sido un problema desde que actualizó su sistema operativo a 10.8, podría tratarse de un problema de X11, como se describe aquí http://support.apple.com/kb/HT5293

identificar ~ / ruta / a / imagen

No funcionaba para mí incluso después de probar todas las correcciones anteriores. Instalé XQuartz desde http://xquartz.macosforge.org/landing/ y ahora está funcionando de nuevo.

Puede ayudar a otros también ...


Solo para decir, también puedes tener este mensaje de error por lo que significa.

En mi caso, el tamaño del archivo era de 0 bytes porque me olvidé de tirarlo después de escribirlo desde un Zip, y pasar este recurso a Paperclip.

Puede ser interesante comprobar que realmente puede abrir el archivo con su visor preferido antes de leer la otra respuesta de este hilo :)


También recibirá este mensaje de error si intenta subir un archivo que contiene dos puntos en su nombre a partir de la última versión.


Tuve este problema cuando usé OSX + MAMP + Passenger + Paperclip y después de configurar el command_path y asegurarme de que Imagemagick se instaló correctamente mediante brew, estableciendo adecuadamente la temperatura y cargando directorios para el pasajero a algo escribible, ¡aún así no funcionaría!

La solución fue editar el archivo envvars para MAMP en / Applications / MAMP / Library / bin / envvars y comentar la línea DYLD_LIBRARY_PATH de exportación.

Es decir, cambia la línea que dice

export DYLD_LIBRARY_PATH

a

# export DYLD_LIBRARY_PATH

Luego reinicie MAMP y sienta la euforia cuando sus imágenes se carguen / redimensionen correctamente.


eso también me pasó, probé todo el método mencionado anteriormente. Solo cambio la versión del clip, luego todo funciona bien.


si estás intentando subir un video, entonces, ''identificar'' intenta delegar el trabajo en ffmpeg. ejemplo

identify Desktop/00-ScalingRails-Introduction.mp4 [alaa@Zero>/home/alaa] identify: delegate failed `"ffmpeg" -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z"'' @ error/delegate.c/InvokeDelegate/1061. identify: unable to open image `/tmp/magick-XXHF4ImT.pam'': @ error/blob.c/OpenBlob/2498

en este ejemplo, la instalación de ffmpeg eliminó el mensaje de error de la lista de errores de validación