封面Paperclip :: Errors :: NotIdentifiedByImageMagickError

时间:2014-05-14 21:47:54

标签: ruby-on-rails imagemagick paperclip

我已经将我的mac更新为10.9.2(小牛队),我的rails / homebrew环境已经崩溃了。我已经在解决了大部分问题,但我一直试图让回形针使用ImageMagick。它上周运作但我改变了一些让其他事情发挥作用的事情。

# gem file
gem "paperclip", "~> 4.1"

#model
   has_attached_file     :cover,
   :styles => { :medium => "600x300>", :thumb => "100x100>" },
   :url => "/assets/providers/:id/:style/:basename.:extension",
   :path => ":rails_root/public/assets/providers/:id/:style/:basename.:extension"

  validates_attachment_content_type :cover, :content_type => ['image/jpeg', 'image/png']
  validates_attachment_size :cover, :less_than => 5.megabytes
  before_validation :clear_cover

我收到错误消息:

Cover Paperclip::Errors::NotIdentifiedByImageMagickError

由于在未安装/找到库的更新后出现了很多问题,我尝试再次安装ImageMagick但得到了:

Warning: imagemagick-6.8.9-1 already installed

所以我试过

brew uninstall imagemagick
brew install imagemagick

这花了很少的时间:

Already downloaded: /Library/Caches/Homebrew/imagemagick-6.8.9-1.mavericks.bottle.tar.gz
==> Pouring imagemagick-6.8.9-1.mavericks.bottle.tar.gz
  /usr/local/Cellar/imagemagick/6.8.9-1: 1432 files, 22M

我已经看到围绕SO& amp ;;的一些建议网络,没有一个工作:

brew install ghostscript
brew install libtool

感谢评论中的建议我试图运行:

$ identify -format '%wx%h,1' 'test.jpg'

但得到了:

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

我不确定最好的解决办法是什么?

我读了这个post,它在库中添加了一个符号链接,但这只是一个补丁还是一个正确的修复?

我试着这样做:

$ brew install libtool --universal

但得到了

Warning: libtool-2.4.2 already installed

我跑了

$ brew install imagemagick --build-from-source

并且在遇到一些麻烦之后,现在我们又出现了一个新的错误:

identify: no decode delegate for this image format `JPEG' @ error/constitute.c/ReadImage/501.

值得注意的是,我在macbook&上遇到了完全相同的问题。我的桌面。

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,发现自制软件和一些未正确链接的软件包存在问题。

运行命令:

brew doctor

在您的终端中帮助调试自制程序。我也有这个问题,它给了我输出

Warning: You have unlinked kegs in your Cellar

按照调试输出中的说明链接这些

brew link "PACKAGE NAME"

在我的实例中,libpng没有正确链接。

注意:如果收到错误“'DIRECTORY PATH'不可写。”运行

sudo chown -R $(whoami) 'DIRECTORY PATH'

再试一次