2012-05-22 24 views
8

Bien, tengo imagemagick instalado en mi máquina local a través de homebrew, y Gemfile.lock muestra el clip bloqueado en la versión paperclip (3.0.4).Paperclip no puede encontrar imagemagick

por las instrucciones de configuración, puse el siguiente comando en development.rb

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

cual se alinea con lo que dice el terminal de

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

Sin embargo, cuando intento subir una imagen, el siguiente error se escupe en mi formulario

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

Que cada pregunta SO que puedo encontrar sobre el asunto sugiere que el problema es que Paperclip no puede encontrar la identificación en su ruta de comandos.

que utiliza el generador Paperclip añadir el avatar a mi base de datos, y mi modelo tiene:

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

Además, si me carga hasta rails c y miro Paperclip.options, puedo ver la ruta de comandos tiene se ha configurado correctamente en el hash.

No estoy seguro de qué hacer en este momento. Cualquier ayuda sería apreciada.

+0

que hace el comando identificar realmente ejecutado desde la línea de comandos? p.ej. $ identity -version – Ivan

+0

Devuelve 'dyld: Biblioteca no cargada: /usr/local/lib/libtiff.3.dylib Se hace referencia a partir de:/usr/local/bin/identify Motivo: no se ha encontrado la imagen Trace/BPT trap: 5' – DVG

+0

¿Sabes si tienes '/ usr/local/lib' incluido para tu ld.so conf? si ejecutas Ubuntu (y probablemente otros disquetes de Linux) debes asegurarte de que '/ usr/local/lib' esté en algún archivo en'/etc/ld.so.conf.d' (por defecto, las costuras 'libc' para incluirlo) , si no lo he agregado manualmente, no lo recuerdo). Luego ejecute 'ldconfig' como root y reinicie el servidor web. –

Respuesta

10

Me complace que ejecutar el comando lo haya iniciado en el camino correcto.

El problema era que su ImageMagick fue compilado para una arquitectura incorrecta:

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

desinstalación de ImageMagick, actualizar y volver a instalar homebrew que era lo correcto.

+3

Para mí 'brew update && brew upgrade imagemagick' hizo el truco. –

0

No estoy seguro de cuál fue el problema exacto, sin embargo, desinstalé Image Magick, actualicé Homebrew y reinstalé Imagemagick y ahora todo está funcionando.

4

Por si acaso, me hizo trabajar con este truco:

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

y trabaja como encanto :)

Cuestiones relacionadas