Spree :: Admin :: ImagesController #create中的Paperclip :: NotIdentifiedByImageMagickError

我试图第一次设置Spree。 一切顺利,直到我上传图片。 我在Mac OSX Mountain Lion上使用自制程序安装了Imageamgick。 上传任何图像会给我以下错误。

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 (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 (eg 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 (ie ps:image) or specify the image type as the filename suffix (ie image.ps). Specify 'file' as '-' for standard input or output. 

任何帮助将不胜感激。

谢谢,科里

我的错误是 – “ Spree :: Admin :: ImagesController中的Paperclip :: NotIdentifiedByImageMagickError

我几天前修正了这个错误。

在此之前我试过:

  • 更新XCode(使用命令行工具)
  • 更新Imagemagick(我从源代码和二进制模块中尝试过)
  • 更新MacPort
  • 使用Brew(使用Imagemagic的所有依赖项刷新,使用“brew doctor”),而不是MacPort
  • 重新安装使用Imagemagick的所有gem
  • 捆绑更新
  • 等等

确保我在production.rb文件中指向Imagemagick bin文件夹的“Paperclip :: Attachment.default_options [:command_path]”选项。

有几次我一次又一次地从a到z做过。

但没有什么可以帮助我。

顺便说一句, 在所有情况下,我都使用任何类型的测试图像精确地“转换”,“识别”和“显示” ,但不是在我的rails应用程序(狂欢应用程序)中。

我潜入了北斗,并尝试在rails console内进行研究

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

像回形针一样。 并且只有这个命令的新格式(可卡因0.4):

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

工作得很好!!!

结果,我发现可卡因0.4是我问题的根源 。 我尝试在我的Gemfile中降级为可卡因0.3.2并且我的Spree应用程序开始工作!

我需要做的就是使用可卡因0.3.2而不是0.4

检查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 

当公共文件夹中不存在图像文件时,我也遇到了问题。
我刚刚复制了一个同名的随机文件 ,一切都开始工作了。

 parepclip 2.7.5 cocain 0.3.2