我在OSX Snow Leopard上虽然我认为这可能不是特定于平台的问题。
问题是我浪费了一生的时间试图让gem install rmagick
工作,我希望能够拯救下一个悲伤的人。
我认为核心问题总结在标题中。
问题:
最后:
现在让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?
sudo port selfupdate
只是为了确定。答案 0 :(得分:1)
RMagick是一个有趣的图书馆。如果可能的话,避免使用它。如果您只是调整图像和其他基本内容的大小,请查看minimagick。 RMagick的主要问题源于内存使用和泄漏 - 在开发过程中通常不明显,但在生产中它们会变得很难看。
我的建议是尽可能地考虑替代方案 - 如果你必须做更复杂的工作,实际上可能更喜欢使用Python / PIL(用Ruby包裹 - 我用它来获取OpenCV) , 例如)。取决于您的用例。
如果你真的需要RMagick,那么Homebrew可能比端口更好。我是一个Linux家伙,这些东西往往只是工作,在那里,在包管理器之外正确设置像ImageMagick这样的东西的最终方法是从源代码构建它。不确定OSX的实用性如何,但如果其他所有方法都失败,那么它可能值得一试。
答案 1 :(得分:1)
从根本上说,答案确实似乎是你需要使用较旧版本的ImageMagick来实现Rmagick(至少在Snow Leopard下)。
我已经确认ImageMagick 6.5.6-10适用于Rmagick 2.13.1。 (Rmagick主页说它已经通过ImageMagick 6.6.1-0进行了测试。版本6.6.1-0似乎不可用,但可能是6.6.1-10,可用,也很好。)
MacPorts的所有问题可能都是红色鲱鱼。尽管如此,MacPorts似乎没有办法安装以前版本的ImageMagick,所以我从源代码安装它。 HomeBrew可能是更好的选择。
通过删除/ usr / local / lib / libfreetype *并重新安装ImageMagick,我通过ImageMagick获得的错误得到了解决。 我也清除并重新安装了MacPorts,但我不知道这是必要的。
以下是我为实现这一目标所采取的确切步骤,尽可能重新构建它们。
唷!请注意,步骤3-14可能会替换为:http://github.com/masterkain/ImageMagick-sl
答案 2 :(得分:1)
我也试图安装早期版本的ImageMagick,但我试图通过Homebrew来做。然而,在此过程中,我发现了如何通过MacPorts安装较旧的软件包,它确实对我有用(尽管由于其他原因我不得不放弃MacPorts)。
有关迁移到较旧端口版本的说明,请访问: https://trac.macports.org/wiki/howto/InstallingOlderPort