2012-05-22 48 views
8

好吧,我已经通过自制软件在本地机器上安装了imagemagick,并且Gemfile.lock显示版本号为paperclip (3.0.4)的回形针被锁定。回形针无法找到imagemagick

每安装说明,我在设置以下命令development.rb

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

其中线与终端说什么

$ which identify 
    # => /usr/local/bin/identify 

然而,当我尝试上传图片,在我的表格上发现以下错误

/var/folders/dm/lnshrsls2zz6l4r_tkbk7j2w0000gn/T/avatar20120522-44111-gfis2q.jpg is not recognized by the 'identify' command. 

哪一个SO问题我可以找到在这个问题上,建议问题是Paperclip无法在其命令路径中找到标识。

我用回形针发电机化身添加到我的数据库,我的模型有:

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

而且,如果我加载了rails c看看Paperclip.options,我可以看到命令路径具有已在哈希中正确设置。

不太确定此时该做什么。任何帮助,将不胜感激。

+0

请问识别命令实际上是从命令提示符下运行?例如$ identify -version – Ivan

+0

它返回'dyld:库未加载:/usr/local/lib/libtiff.3.dylib 引用自:/ usr/local/bin/identify 原因:图像未找到 Trace/BPT陷阱: 5' – DVG

+0

你知道你的'/ usr/local/lib'包含了你的ld.so conf吗?如果你正在运行Ubuntu(也可能是其他Linux dists),你应该确保'/ usr/local/lib'位于'/etc/ld.so.conf.d'中的某个文件中(默认情况下,'libc'接口包含它,如果我没有手动添加它,不记得)。然后以root身份运行'ldconfig'并重新启动Web服务器。 –

回答

10

我很高兴运行命令让你开始了正确的道路。

的问题是,您的ImageMagick编译了错误的体系结构:

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

卸载ImageMagick的,自制软件更新并重新安装这是应该做的正确的事情。

+3

对我来说'brew update && brew upgrade imagemagick'的确有用。 –

0

不太清楚确切的问题是什么,但是我卸载Image Magick,更新了Homebrew并重新安装了imagemagick,现在一切正常。

4

以防万一,我把它用这一招工作:

ln -s /usr/local/Cellar/libtiff/3.9.5/lib/libtiff.3.dylib /usr/local/lib/libtiff.3.dylib 

,并正在般的魅力:)