ruby on rails - thoughtbot - Cargar imágenes de clip en Rails-Paperclip:: CommandNotFoundError
poner imagen en ruby on rails (5)
Estoy usando un clip para manejar las cargas de imágenes a los carriles. funcionó bien en mi máquina dev OSX, pero ahora en mi servidor web recibo este error:
[paperclip] /Users/marky/bin/identify ''-format'' ''%wx%h'' ''/tmp/stream,16451,2.JPG[0]'' 2>/dev/null
[paperclip] An error was received while processing: #<Paperclip::CommandNotFoundError: Paperclip::CommandNotFoundError>
[paperclip] /Users/marky/bin/identify ''-format'' ''%wx%h'' ''/tmp/stream,16451,2.JPG[0]'' 2>/dev/null
[paperclip] An error was received while processing: #<Paperclip::CommandNotFoundError: Paperclip::CommandNotFoundError>
Ahora me queda claro el motivo; identificar está realmente en / usr / bin / not / Users / marky / bin / que es de mi máquina dev. Yo tengo:
Paperclip.options[:command_path] = "/usr/bin"
en mi development.rb
, pero todavía estoy recibiendo el error. No tengo idea de cómo solucionar esto, ¿alguien puede ayudar?
Comprueba si tienes imagemagick instalado ejecutando
which convert
en tu consola En mi caso, el resultado fue el siguiente:
$ which convert
/usr/bin/convert
Luego agrego la siguiente línea a config / environment / development.rb que le dice a Paperclip dónde encontrar Imagemagick
Paperclip.options[:command_path] = "/usr/local/bin/"
En mi caso, la configuración de las opciones de ruta del comando Paperclip en el archivo de entorno para el servidor de producción (NGINX + Passenger) no funcionó.
Lo puse en el archivo inicializador paperclip.rb en su lugar:
Paperclip.options[:command_path] = "/usr/bin/" if Rails.env.production?
Instala los siguientes paquetes para trabajar con imagemagick
1) apt-get install imagemagick
2) apt-get install libmagickwand-dev
3) gem install rmagick
Creo que te estás perdiendo el segundo.
Puede instalar ImageMagick en su máquina. Este problema se genera porque no encontrará algunos métodos.
Para comprobar que ImageMagick está instalado en su máquina, simplemente ejecute el comando ''convertir'' en el terminal.
Si está hospedando su aplicación con Passenger, tenga en cuenta que Passenger no tiene la misma variable $ PATH que su usuario registrado. Una buena manera de verificar si Passenger puede ver los comandos de ImageMagick es agregar esto a una de sus plantillas erb:
<%= `which convert` %>
<%= `echo $PATH` %>
y para comparar los resultados con la ejecución de los mismos comandos en su terminal. Otra posibilidad es que ImageMagick no puede encontrar las librerías que necesita. En este caso, es posible que necesite exportar otra variable para que ImageMagick sepa dónde están las librerías:
# my config/environments/development.rb
Paperclip.options[:command_path] = "DYLD_LIBRARY_PATH=''/Users/jch/Library/ImageMagick-6.6.3/lib'' /Users/jch/Library/ImageMagick-6.6.3/bin"
Espero que ayude -jerry