我使用的是 OSX Snow Leopard,但我认为这可能不是特定于平台的问题。 问题是我已经浪费了我一生的时间试图让 gem install rmagick 工作,我希望能让下一个人免于悲伤。 我相信标题概括了核心问题。
问题:
- 谁能证实 Rmagick 2.13.1 不适用于 ImageMagick 6.6.4?
- 在 Snow Leopard 上安装 Rmagick 的最佳解决方案是什么?
- 应该MacPorts用于安装ImageMagick? (我不知道如何告诉 macports 使用旧版本的 ImageMagick。)
最后:
现在让 ImageMagick 正常工作让我很不舒服,因为我尝试过以各种方式安装各种版本,但它们相互干扰。 下面是清除和重新安装 macports 的说明(有必要吗?),但我不确定如何清理其他库以进行全新的 ImageMagick 安装。 例如,我当前尝试运行 ImageMagick 时遇到以下错误
dyld: Library not loaded: /usr/local/lib/libfreetype.6.dylib
Referenced from: /usr/local/bin/convert
Reason: Incompatible library version: convert requires version 11.0.0 or later,
but libfreetype.6.dylib provides version 10.0.0
也许在重新安装之前删除/usr/local/lib/libfreetype* 就足够了(当我让 ImageMagick 工作时我会在这里确认),但是有没有更完整/明确的方法来重新安装特定版本ImageMagick 的?
附录:清除并重新安装 MacPorts
- 清除:http://guide.macports.org/#installing.macports.uninstalling
- 从头开始重新安装: http://distfiles.macports.org/MacPorts/MacPorts-1.9.1-10.6-SnowLeopard.dmg (截至 2010.10.09 -- 查看 http://distfiles.macports.org/MacPorts 获取最新版本)
- 然后执行
sudo port selfupdate
以确保确定。
最佳答案
RMagick 是一个...有趣的库。如果可能的话,避免使用它。如果您只是调整图像大小和其他基本内容,请查看 minimagick。 RMagick 的主要问题源于内存使用和泄漏 - 在开发中通常不明显,但在生产中它们很快就会变得丑陋。
我的建议是尽可能考虑替代方案 - 如果你必须做更复杂的工作,实际上最好使用 Python/PIL 来代替(用 Ruby 包装 - 我用它来获取 OpenCV , 例如)。取决于您的用例。
如果您确实需要 RMagick,那么 Homebrew 可能比 ports 效果更好。我是一名 Linux 人员,这些东西往往可以正常工作,而在包管理器之外正确设置 ImageMagick 之类的东西的 final方法是从源代码构建它。不确定这在 OSX 上有多实用,但如果其他方法都失败的话,可能值得一试。
关于ruby-on-rails - 当前版本的 rmagick gem (2.13.1) 不适用于当前版本的 ImageMagick (6.6.4),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3897341/