2017-08-29 109 views
0

我想在Ruby中使用CarrierWave,並不停地進行故障。 我設法重現與convert實用程序的錯誤。ImageMagick的 - 轉換失敗

> convert file.jpg file.bmp 
convert: unable to load module `/usr/local/Cellar/imagemagick/6.9.7-3/lib/ImageMagick//modules-Q16/coders/jpeg.la': file not found @ error/module.c/OpenModule/1302. 
convert: no decode delegate for this image format `JPEG' @ error/constitute.c/ReadImage/504. 
convert: no images defined `file.bmp' @ error/convert.c/ConvertImageCommand/3258. 

但我看到jpeg.la確實存在的文件。 我使用Homebrew安裝ImageMagick(brew安裝ImageMagick),試圖升級到最新版本,但仍然失敗。

任何想法?

+0

您可能錯過了一些依賴關係。對於'jpeg'看看這個帖子:https://askubuntu.com/questions/211627/how-to-add-support-for-the-jpeg-image-format – zindarod

+0

也許嘗試'釀造RM ImageMagick的; brew安裝jpeg; brew安裝imagemagick' –

+0

馬克 - 試過這個,不起作用。 它也發生在我知道的兩位開發者身上 – Yosi

回答

1

嘗試升級imagemagick @ 6而不是普通的imagemagick公式。


圍繞2016年12月/ 2017年1月carrierwave使用rmagick,這依賴於版本的ImageMagick的。大約在同一時間,brew轉移到ImageMagick的版本。這busted rmagick和carrierwave功能,所以Hombebrew/core-brew項目親切added an [email protected]公式。

的快速和骯髒的修復,以獲得carrierwave運行爲brew install [email protected] && brew link [email protected] --force

如果是這種情況,那麼brew upgrade imagemagick不會更新rmagick所使用的庫。而不是brew upgrade [email protected]將是必要的。


的替代路線,可以從使用rmagickmini_magick切換。在撰寫本文時(2017年10月 - 03年),mini_magick gem似乎能夠更好地維護,並且看起來可以使用最新版本的imagemagick。