Active Storageで画像アップロードに必要なgemについて

RailsのActive Storageを使った画像アップロード機能の実装を行っています。 Active Storageを使う際にgem等の多くのツールが必要になりますが、使用用途が分からずどのツールを使えば良いか分かりにくかったのでまとめました。

Active Storageを使った画像アップロードに使用するツール一覧

Active Storageを使った画像アップロード機能の実装には次の4つのツールが必要(Rails 6.1.6の場合)。

  1. Active Storage
  2. Image Magick or libvips
  3. MiniMagick
  4. image_processing

Active Storage の概要 - Railsガイド

1. Active Storage

  • ファイルアップロード用のgem
  • gem名はactivestorage
  • Railsにデフォルトで含まれている(6.1.6)
  • 同じような機能のgemとしてCarrier Waveがある

rails/activestorage at main · rails/rails

2. Image Magick

ImageMagick – Convert, Edit, or Compose Digital Images

3. MiniMagick

  • Image MagickをRailsで使用するためのgem
  • gem名はmini_magick
  • Railsにデフォルトで含まれている(6.1.6)

minimagick/minimagick: mini replacement for RMagick

4. image_processing

  • 画像分析や画像加工のために必要なgem
  • gem名はimage_processing
  • 使用するにはImage Magick or libvipsが必要
  • Rails6以降で必要らしい?
  • 導入はGemfile内のコメントアウトを外してbundle install する(Rails 6.1.6)

janko/image_processing: High-level image processing wrapper for libvips and ImageMagick/GraphicsMagick

まとめ

画像アップロードにはどのgemを使うのか分からなかったけどスッキリした。 Railsのバージョンによっても必要なgemは変わってきそうなので、そのへんの互換性も一緒に考える事の大事さに気付けたので良かった。

参照

Active Storage の概要 - Railsガイド

RailsのActive Storageを使って画像アップロード機能の実装 - 駆け出しエンジニアの学び日記