今天在Rails里面使用carrierwave上传图片的时候出现错误提示:
Image translation missing: zh-CN.errors.messages.mini_magick_processing_error
初看还以为是i18n的问题,网上一找发现是项目里面安装了gem mini_magick,但是服务器环境中忘记安装 imagemagick ,导致出现这种怪异的错误。
MiniMagick简介
对图片进行各种处理的gem,使用ImageMagick或 GraphicsMagick 的命令行 ruby 工具。在批量生成缩略图或者转换图片的时候很方便,如:
1、改变大小及转换图像格式
image = MiniMagick::Image.open("input.jpg")
image.path #=> "/var/folders/k7/6zx6dx6x7ys3rv3srh0nyfj00000gn/T/magick20140921-75881-1yho3zc.jpg"
image.resize "100x100"
image.format "png"
image.write "output.png"
2、显示图片属性
image.type #=> "JPEG"
image.mime_type #=> "image/jpeg"
image.width #=> 250
image.height #=> 300
image.dimensions #=> [250, 300]
image.size #=> 3451 (in bytes)
image.colorspace #=> "DirectClass sRGB"
image.exif #=> {"DateTimeOriginal" => "2013:09:04 08:03:39", ...}
image.resolution #=> [75, 75]
image.signature #=> "60a7848c4ca6e36b8e2c5dea632ecdc29e9637791d2c59ebf7a54c0c6a74ef7e"
ImageMagick安装
ubuntu环境
sudo apt-get install imagemagick
mac环境
使用Homebrew来安装
brew install imagemagick
验证安装
此验证为ubuntu18环境
$ convert -version
Version: ImageMagick 6.9.7-4 Q16 x86_64 20170114
Copyright: © 1999-2017 ImageMagick Studio LLC
License:
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib djvu fftw fontconfig freetype jbig jng jpeg lcms lqr ltdl lzma openexr pangocairo png tiff wmf x xml zlib
本文环境
- rails 6.0.4
- ruby 2.6.5p114 (2019-10-01 revision 67812) [x86_64-linux]
相关Gem
mini_magick
carrierwave
非常方便的图片、声音、视频上传插件,相关使用可以参考我以前的文章。
我是@爱玩的安哥,关注我获取更多有用的知识