【问题标题】:Cover Paperclip::Errors::NotIdentifiedByImageMagickError封面回形针::Errors::NotIdentifiedByImageMagickError
【发布时间】:2014-05-14 21:47:54
【问题描述】:

我已将我的 mac 更新到 10.9.2(mavericks),我的 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 和网络的建议,但都没有奏效:

brew install ghostscript
brew install libtool

感谢我尝试运行的 cmets 中的建议:

$ 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 和台式机上遇到了完全相同的问题。

【问题讨论】:

  • which convert 和 which identify什么都没有返回,所以我尝试了:brew unlink imagemagick && brew link imagemagick
  • 现在我得到 ➜ rails git:(aa) ✗ 识别 /usr/local/bin/identify ➜ rails git:(aa) ✗ 转换 /usr/local/bin/convert
  • 在命令提示符下,您能否成功运行identify -format '%wx%h,1' <file>,其中 是一些图像文件?这应该是 Paperclip 在您收到错误时尝试运行的命令,并且可以帮助您了解是 ImageMagick 给您带来问题还是 Paperclip/可卡因。
  • 这似乎表明问题出在 ImageMagick 而不是 Paperclip 上。不幸的是,我不是 Mac 用户,我可能无法提供更多帮助。我确实在这里找到了一个可能有用的问题 - 忽略已接受的答案,其他两个答案可能会对您有所帮助,因为他们正在谈论类似的问题。 stackoverflow.com/questions/9586048/…
  • @GraemeMcLean - 非常感谢!这个答案让我通过了,测试它是 imagemagick 而不是回形针 v 知道也有帮助。我希望你周末过得愉快。

标签: ruby-on-rails imagemagick paperclip


【解决方案1】:

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

运行命令:

brew doctor

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

Warning: You have unlinked kegs in your Cellar

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

brew link "PACKAGE NAME"

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

注意:如果您收到错误“'DIRECTORY PATH' is not writable.”运行

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

再试一次

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    • 1970-01-01
    相关资源
    最近更新 更多