我使用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.For的一部分安装的,这是MiniMagick没有将它捡起来的原因。
发布于 2012-09-06 08:57:30
发现问题在于我的RubyMine IDE,而不是我的应用程序,也不是ImageMagick或MiniMagick。
当启动RubyMine IDE (双击RubyMine图标)时,它似乎不会继承终端会话的路径。因此,当我从/usr/local/bin/
内部启动rails服务器时,RubyMine不在我的服务器路径中。
在从命令行启动服务器时,我能够成功地运行我的应用程序。我还发现,如果我从命令行启动RubyMine (使用open -a RubyMine
),那么终端会话就会被继承,并且一切都按预期工作。
发布于 2012-09-26 11:26:51
添加到您的/etc/路径的顶部:
/usr/local/bin/
这将告诉mac,新的shell应该有这个变量。我建议将其添加到顶部,因为在使用自制软件时,您经常会添加覆盖mac应用程序中内置的路径。
https://stackoverflow.com/questions/12302534
复制相似问题