MiniMagick错误:未定义的方法'size'为零

时间:2014-01-11 21:27:26

标签: ruby-on-rails image-processing imagemagick imagemagick-convert minimagick

undefined method 'size' for nil:NilClass位于MiniMagick::Utilities.which('mogrify').size def choose_processor的{​​{1}}。

似乎mini_magick gem找不到我的ImageMagick。

我使用的是Windows 7,mini_magick 3.7.0,Rails 4.0.2,Ruby 2.0.0p353,ImageMagick 6.8.8-1

代码:

mini_magick (3.7.0) lib/mini_magick.rb

安装了ImageMagick:

version :normal do
   process resize_to_limit: [1028,850]
end

请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:0)

您需要确保ImageMagick,特别是命令mogrify,在您首次调用MiniMagick时的PATH环境变量上。根据您启动应用程序的方式,很容易得到与命令提示符不同的路径。

要调试此问题,请在发生错误的位置之前检查ENV['PATH']的值。您可能会看到路径中缺少ImageMagick的文件夹。

然后,您需要在application.rbenvironments/production.rb或其他适当位置添加如下所示的行:

ENV['PATH'] += File::PATH_SEPARATOR + 'C:\path\to\imagemagick'

这将保证您的路径包含ImageMagick的正确位置。