2012-09-06 29 views
0

我正在使用CarrierWave和MiniMagick来调整大小和上传文件。我在我的上传器中有版本指令CarrierWave MiniMagick调整大小给出了一个错误

version :thumb do 
    process :resize_to_limit => [100, 100] 
    end 

但是当我上传文件时,操作失败。我得到的例外是

No such file or directory - identify -ping /var/folders/Au/AuBTXIH8HzCAhKdy0jvi+k+++TI/-Tmp-/mini_magick20120906-64039-1gx1ptu.jpg 

我上传的文件的名称是hat.jpg。 /var/folders/Au/AuBTXIH8HzCAhKdy0jvi+k+++TI/-Tmp-/目录确实存在,但是当我上传时,我没有看到正在创建的文件。

关于这个问题可能是什么的任何建议?

编辑:我发现的具体问题是,MiniMagick正在孕育一个命令来运行identify,并且确定命令没有被发现。但它在我的系统上是/usr/local/bin/identify - 它是作为ImageMagick的一部分安装的。由于某些原因,MiniMagick并未采用它。

+0

您是否安装了ImageMagick? – Wukerplank

+0

ImageMagick已安装 –

回答

1

发现问题出在我的RubyMine IDE上,而不是我的应用程序或ImageMagick或MiniMagick。

似乎RubyMine IDE启动后(通过双击RubyMine图标)它不会继承终端会话存在的PATH。因此,当我从RubyMine中启动rails服务器时,/usr/local/bin/不在我的服务器路径中。

从命令行启动服务器时,我能够成功运行我的应用程序。我还发现,如果我从命令行启动RubyMine(使用open -a RubyMine),那么终端会话将被继承,并且所有事情都按预期工作。

0

添加到您的/ etc /路径TOP:

/usr/local/bin/ 

这会告诉新壳应该有这个变量的MAC OS。 我说要添加到顶部,因为使用自制软件,您经常添加覆盖内置mac应用程序的路径