2010-12-01 214 views
1

我决定下载源代码并在本地进行编译,然后运行sudo make install如何安装ImageMagick

但是,当我尝试运行'哪个ImageMagick'命令时,我看不到路径返回到命令行。

我想让ImageMagick和Paperclip(适用于Rails 3)很好地一起玩,但是无法正确安装它 - 回形针似乎不起作用。我一直Rails中得到的错误,当我做了以下has_attached_file :image, :styles => { :thumb => "64x64" }Image Paperclip::CommandNotFoundError

从sudo的输出使安装过大,所以我张贴在Github这里:https://gist.github.com/723339

回答

5

的ImageMagick没有提供命名ImageMagick二进制代替它具有12个binarys命名为:animatecomparecompositeconjureconvertdisplayidentifyimportmogrifymontagestream

其从该安装日志被安装,重要的一个:convert安装在/usr/local/bin/convert

convert是回形针使用该一个和希望它是对PATH作为线的https://github.com/thoughtbot/paperclip/blob/master/lib/paperclip/thumbnail.rb 61读取

替换convert/usr/local/bin/convert在该行会修

+0

好的......现在我的第61行看起来像这样:`成功= Paperclip.run(“/ usr/local/bin/convert”,parameters,:source =>“#{File.expand_path( src.path)} [0]“,:dest => File.expand_path(dst.path))`我试过了,它不起作用。另外,如果我想执行`:styles => {:medium => {200x200}}`我还需要编辑另一个文件吗?通过不起作用,我的意思是它给了我同样的错误,而不是调整文件的大小 - 第61行的变化。 – marcamillion 2010-12-01 11:48:43

3

为什么不稍微慢下来:

  • 由于@DanD说,ImageMagick的安装结果就像convertstream等来自终端的一系列二进制文件,你可以检查它们是否在你的PATH做:

    %,其中转换 %,其中流 %,其中比较

如果您已经安装工作您所安装的位置是在你的PATH然后你会看到其中的可执行文件位于returne目录d通过which命令(在您的情况下它看起来应该是/usr/local/bin

  • 如果您遇到的问题在这里,但认为构建是好的,然后通过执行来看看您的路径:

    %回声$ PATH

的位置输出当你在类似的命令(如lsconvert或类似的东西)键入命令的名称(没有绝对路径)时查看的地方。现在

export PATH=$PATH:/usr/local/bin 

,在建设事方面:如果/usr/local/bin是不是有你的情况,你可以通过编辑~/.profile~/.bash_profile文件,并在您喜欢的文本编辑器添加以下行您的个人资料添加:

  • 是否有配置步骤(即在make之前运行的东西)?如果是这样,请确保您选择了正确的选项。

  • 要确保你能正确地构建它为什么不尽量做到第一(只是make),然后测试(make test如果存在这种规则),然后,如果一切都在良好的状态做你make install

至于其他的想法:

  • 如果您是Mac上的唯一用户,为什么不能在用户空间的地方安装它,这样你可以更容易地看一看什么是安装而比倾销到〜/ usr/local`?

  • 您也可以通过MacPorts进行安装。我知道不是每个人都喜欢这个系统,但是一旦安装了Macports系统,安装ImageMagic可以像port instal ImageMagick一样简单。 Macports将默认安装(和任何相关的依赖项)在/opt,所以如果你按照上面描述的方式走这条路线,你可能需要添加/opt/local/bin到你的PATH。 MacPorts的其他替代品是finkHomebrew,但我不太熟悉。