【发布时间】: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