与Homebrew一起安装的Lion上的Imagemagik问题



我正试图在Rails项目中使用Paperclip gem,因此遵循了文档,并首先使用Homebrew配方安装了Imagemagik。

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

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

所以我认为我的问题不在于回形针,而是通过自制安装imageMagick

我已经尝试了所有建议,包括

brew update
brew remove imagemagick
brew install imagemagick

但这对我运行Lion 10.7.2并安装开发工具没有帮助。

如有任何建议,我们将不胜感激。

有一个更简单的解决方案。安装免费类型:

brew install freetype

或者,如果它已经安装,那么你需要重新创建链接:

brew unlink freetype && brew link freetype

这将为你解决一切问题。不是所有的,但它至少能解决这个问题。

我遇到了同样的问题。在操作系统上运行软件更新为我解决了这个问题。libfree的版本已经过期。Paperclip、ImageMagick和Homebrew都运行良好。

在OSX MoutainLion ImageMagick上的软件更新后,我也停止了工作,但只需遵循Chris采取的步骤即可:

brew update
brew remove imagemagick
brew install imagemagick

libfreetype在我的Mountain Lion(10.8)安装中丢失。在这种情况下,安装XQuartz将替换丢失的lib。http://xquartz.macosforge.org/landing/

我希望这对某人有所帮助:在我尝试了所有这些解决方案(更新brew、重新安装imagemagick、取消链接和再次链接)但都没有成功后,我想到了回形针可能是个问题。我只是:

 bundle update paperclip

问题解决了!

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

最新更新