使用Homebrew在Lion上安装的Imagemagick问题

7

我正在尝试在Rails项目中使用Paperclip gem,所以按照文档的说明首先使用Homebrew recipe安装了Imagemagick。

我在模型中添加了我的附件。

has_attached_file :screenshot

这个工作正常,文件上传功能按预期运行。

然后我想要添加缩略图,所以再次按照文档的指示添加到模型中。

  has_attached_file :screenshot, 
                :styles => { :medium => "300x300>",
                             :thumb => "100x100>" }

此时上传不再起作用。

我查看了开发日志,发现如下内容:

[32mCommand[0m :: identify -format %wx%h '/var/folders/ky/r5gsdhbn6yggbglsg727cc900000gn/T/stream20120302-60051-eh17n7.png[0]'
[paperclip] An error was received while processing: #<Paperclip::NotIdentifiedByImageMagickError:     
/var/folders/ky/r5gsdhbn6yggbglsg727cc900000gn/T/stream20120302-60051-eh17n7.png is not recognized by the 'identify' command.>

在查找一些资料后,我认为问题可能是将默认路径设置为环境变量的问题。

Paperclip.options[:command_path] = "/usr/local/bin/"

但我使用以下方法检查了它的正确性:

which identify

它返回了这个路径

/usr/local/bin/identify

如预期

然后我尝试在命令行中运行identify作为测试,并得到了以下错误

dyld: Library not loaded: /usr/X11/lib/libfreetype.6.dylib
  Referenced from: /usr/local/bin/identify
  Reason: Incompatible library version: identify requires version 14.0.0 or later, but libfreetype.6.dylib provides version 13.0.0
Trace/BPT trap: 5

我认为我的问题不在Paperclip上,而是在通过Homebrew安装ImageMagick时出现了问题。

我已经尝试了所有建议的方法,包括:

brew update
brew remove imagemagick
brew install imagemagick

但这并没有帮助我,我正在运行的是Lion 10.7.2,并已安装了开发者工具。

非常感谢您提供任何建议。

5个回答

10

还有一种更简单的解决方案。只需安装freetype:

brew install freetype

或者,如果已经安装,则需要重新创建链接:

brew unlink freetype && brew link freetype

这会为您解决一切问题。好吧,不是所有问题,但至少可以解决这个问题。


这个操作成功了,你会看到以下内容:_> Natasha:Intervene natashagreen$ brew install freetype Warning: freetype-2.5.3_1 已经安装 _>Natasha:Intervene natashagreen$ brew unlink freetype && brew link freetype 正在取消链接 /usr/local/Cellar/freetype/2.5.3_1... 1 个符号链接已被删除 正在链接 /usr/local/Cellar/freetype/2.5.3_1... 8 个符号链接已被创建 Natasha:Intervene natashagreen$ rake db:create Natasha:Intervene natashagreen$ - Tasha

6

我遇到了同样的问题。运行操作系统的软件更新解决了我的问题。libfree的版本已经过时。Paperclip、ImageMagick和Homebrew都运行正常。


谢谢jmejia - 你是对的,更新操作系统和开发者工具解决了问题。 - Chris

2

在OSX Mountain Lion上进行软件更新后,ImageMagick也停止工作了,但只需按照Chris所采取的步骤即可解决:

brew update
brew remove imagemagick
brew install imagemagick

0

0
希望这能对某些人有所帮助: 在我尝试了所有的解决方案(更新brew,重新安装imagemagick,取消链接并重新链接)都没有成功之后,我想到可能是Paperclip出了问题。我只需要执行以下操作:
 bundle update paperclip

问题解决了!

注意:ImageMagick 对我来说正常工作。当我从控制台运行identify -format %wx%h /path/to/a/file时,它可以正常工作(我可以得到图像的大小)。'identify' 问题只发生在我的 Rails 应用程序中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接