Вопрос по ruby-on-rails, spree, imagemagick, paperclip – Скрепка :: NotIdentifiedByImageMagickError в Spree :: Admin :: ImagesController # create

3

Я пытаюсь настроить Spree в первый раз. Все шло хорошо, пока я не нажал на загрузку изображения. Я установил Imageamgick с помощью homebrew на Mac OSX Mountain Lion. Загрузка любого изображения дает мне следующую ошибку.

Paperclip::NotIdentifiedByImageMagickError in Spree::Admin::ImagesController#create

    Command :: identify -format %wx%h :file
[paperclip] An error was received while processing: #<Paperclip::NotIdentifiedByImageMagickError: /var/folders/fq/9g_6hmg513g6137rb6sbghw00000gn/T/stream20121005-26943-16883d4.png is not recognized by the 'identify' command.>

Paperclip::NotIdentifiedByImageMagickError (/var/folders/fq/9g_6hmg513g6137rb6sbghw00000gn/T/stream20121005-26943-16883d4.png is not recognized by the 'identify' command.):
  paperclip (2.7.1) lib/paperclip/geometry.rb:29:in `from_file'
  spree_core (1.2.0) app/models/spree/image.rb:35:in `find_dimensions'
  activesupport (3.2.8) lib/active_support/callbacks.rb:405:in `_run__1794851703999987262__post_process__1580526166879208018__callbacks'

Когда я запускаю идентификацию из командной строки, я получаю следующий вывод

    Image Settings:
  -alpha option        on, activate, off, deactivate, set, opaque, copy
                       transparent, extract, background, or shape
  -antialias           remove pixel-aliasing
  -authenticate password
                       decipher image with this password
  -channel type        apply option to select image channels
  -colorspace type     alternate image colorspace
  -crop geometry       cut out a rectangular region of the image
  -define format:option
                       define one or more image format options
  -density geometry    horizontal and vertical density of the image
  -depth value         image depth
  -extract geometry    extract area from image
  -features distance   display image features (e.g. contrast, correlation)
  -format "string"     output formatted image characteristics
  -fuzz distance       colors within this distance are considered equal
  -gamma value         of gamma correction
  -interlace type      type of image interlacing scheme
  -interpolate method  pixel color interpolation method
  -limit type value    pixel cache resource limit
  -monitor             monitor progress
  -ping                efficiently determine image attributes
  -quiet               suppress all warning messages
  -regard-warnings     pay attention to warning messages
  -respect-parentheses settings remain in effect until parenthesis boundary
  -sampling-factor geometry
                       horizontal and vertical sampling factor
  -seed value          seed a new sequence of pseudo-random numbers
  -set attribute value set an image attribute
  -size geometry       width and height of image
  -strip               strip image of all profiles and comments
  -unique              display the number of unique colors in the image
  -units type          the units of image resolution
  -verbose             print detailed information about the image
  -virtual-pixel method
                       virtual pixel access method

Image Operators:
  -negate              replace every pixel with its complementary color 

Miscellaneous Options:
  -debug events        display copious debugging information
  -help                print program options
  -list type           print a list of supported option arguments
  -log format          format of debugging information
  -version             print version information

By default, the image format of `file' is determined by its magic
number.  To specify a particular image format, precede the filename
with an image format name and a colon (i.e. ps:image) or specify the
image type as the filename suffix (i.e. image.ps).  Specify 'file' as
'-' for standard input or output.

Любая помощь будет принята с благодарностью.

Спасибо, Cory

Ваш Ответ

3   ответа
0

когда файл изображения не существует в общей папке.
I've just copied a random file с тем же именем и все начали работать.

parepclip 2.7.5 cocain 0.3.2
12

Paperclip::NotIdentifiedByImageMagickError in Spree::Admin::ImagesController& # X201D;

Я исправил эту ошибку несколько дней назад.

До этого я пробовал:

Update XCode (with Command-Line Tools) Update Imagemagick (i tried it from source and as binary module) Update MacPort Used Brew (refreshing with all dependencies for Imagemagic, used “brew doctor”), not MacPort Reinstall all gems that use Imagemagick Bundle update etc

И конечно, у меня был мой & # x201C; Paperclip :: Attachment.default_options [: command_path] & # x201D; опция в файле production.rb, указывающая на папку bin в Imagemagick.

Несколько раз я делал это от a до z, снова и снова.

Но ничто не могло мне помочь.

Кстати,in all cases i had worked fine “convert”, “identify” and “display” with test images любого вида, но не в моем приложении rails (приложение spree).

Я нырнул в ковш и попытался провести исследование внутри консоли с

Paperclip.run("identify", "-format %m :file", :file => "/path/to/image”) 

как скрепка. И только новый формат (кокаин 0.4) этой команды:

Paperclip.run("identify", "-format %m /path/to/image")

работал нормально !!!

В результате я обнаружил, чтоcocaine 0.4 is the source of my problem, Я попытался понизить кокаин до 0.3.2 в моем Gemfile, и мое приложение Spree начало работать !!!

Все, что мне нужно сделать, этоuse cocaine 0.3.2 instead of 0.4!!!

Этот ответ был бы намного лучше, если бы он не пытался рассказать историю так долго, прежде чем дать ответ. Дайте ответ заранее и предоставьте некоторую предысторию, если считаете, что это полезно.
Спасибо Леонид, что исправили проблему. Вы отправили сообщение об ошибке в проекты Spree и / или кокаина? Cory Gwin
Шпрее - да!
Также вы можете обновить скрепку 2.7 до 2.8, чтобы исправить это.
0

присутствует ли формат png в списке скомпилированных форматов идентификации:

identify -list format

Если это не так, возможно, вам придется перекомпилировать его с помощью следующих параметров:

./configure --prefix=/usr/local --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes
Я также получаю ту же ошибку независимо от формата изображения. Cory Gwin
Я обновил мою установку imagemagick с помощью homebrew, и она снова работает.
Похоже, что PNG24 * PNG rw-непрозрачный 24-битный RGB (zlib 1.2.5) PNG32 * PNG rw-непрозрачный или прозрачный 32-битный RGBA PNG8 * PNG rw- 8-битный индексированный с дополнительной двоичной прозрачностью Cory Gwin

Похожие вопросы