0

undefined method 'size' for nil:NilClass發生在MiniMagick::Utilities.which('mogrify').sizedef choose_processormini_magick (3.7.0) lib/mini_magick.rbMiniMagick錯誤:未定義方法'大小'爲零

看起來像mini_magick寶石沒有找到我的ImageMagick。

我使用Windows 7,mini_magick 3.7.0,Rails的4.0.2,紅寶石2.0.0p353,ImageMagick的6.8.8-1

代碼:安裝

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

ImageMagick的:

C:\Users>convert -version 
Version: ImageMagick 6.8.8-1 Q16 x64 2013-12-25 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC 
Features: DPC Modules OpenMP 
Delegates: bzlib cairo freetype jbig jng jp2 jpeg lcms lqr pangocairo png ps rsv 
g tiff webp xml zlib 

請幫忙。提前致謝。

回答

0

您需要確保ImageMagick,特別是命令mogrify在首次調用MiniMagick的位置上位於PATH環境變量中。根據您如何啓動應用程序,很容易以不同於您在命令提示符下的路徑結束。

要調試該問題,請在發生錯誤的位置之前檢查ENV['PATH']的值。您可能會看到ImageMagick的文件夾從您的路徑中缺失。

你會再想要添加一行類似下面的application.rbenvironments/production.rb,或一些其他合適的地方:

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

這將保證您的路徑中包含的ImageMagick的正確位置。

+0

有趣的答案。你將如何去做這個調試?考慮到我的開發環境已經有一條線: ENV ['PATH'] =「/usr/local/Cellar/postgresql/9.2.4/bin:#{ENV['PATH']}」 「 postgreSQL需要被正確地取出(蘋果預安裝在不同的地方) – Jerome

+0

這個問題來自Windows用戶,雖然看起來你是在Mac OS上。我使用File :: PATH_SEPARATOR來支持OS;您可以安全地這樣做,或者只是擴展已添加的行,以在開發計算機上包含Imagemagick的路徑。 – pdg137

相關問題