ページ内ナビ
概要
CarrierWaveはRuby application向けfile upload libraryです。temporary cacheとpermanent storeを分け、filesystemやcloud storageへfileを保存し、ActiveRecord modelへuploaderをmountできます。image processing、複数file、remote download、version生成も組み込めます。最新stable releaseは3.1.4で、masterは4.0.0.betaです。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
uploader classでcache・store・保存先・filenameを定義する
CarrierWave::Uploader::Baseを継承してstorage、store_dir、filename等を定義し、temporary cacheからpermanent storeへfileを移せます。ActiveRecordではmodel columnへuploaderをmountし、record lifecycleとfile保存を連携できます。
出典:[2]
向いている用途
Railsを中心にmodelとfile attachmentを直接結び付けたいRuby applicationに向く
form uploadからmodel persistence、version生成、filesystem/cloud storageまで一つのuploader定義で管理したいRails/Rack applicationに適します。既存CarrierWave利用projectの継続保守にも向きます。
出典:[2]
導入前の確認
stable 3.1.4と4.0 betaを分け、upload contentとimage processingのsecurity policyを明示する
latest stableは3.1.4で、masterは4.0.0.betaです。4.0 betaはRuby 2.7+・Rails 7.0+を前提としbreaking changeを含みます。uploadではextensionだけでなくcontent_type_allowlistを使い、ImageMagick利用時はImageTragick対策も確認してください。remote downloadやstorage pathもuntrusted inputとして扱う必要があります。
参考にした公式資料
- [1]carrierwaveuploader/carrierwave — GitHub repository(2026-10-06)
- [2]CarrierWave — README(2026-10-06)
- [3]CarrierWave — carrierwave.gemspec(2026-10-06)
- [4]CarrierWave — CHANGELOG(2026-10-06)
- [5]CarrierWave — v3.1.4 release(2026-10-06)
編集部からの補足
Rails modelとfile attachmentを直接結び付ける定番libraryです。stable 3.1.4と4.0 betaを混同せず、content type検証、ImageMagick設定、remote download、storage pathをsecurity boundaryとして設計してください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/carrierwaveuploader/carrierwave.git - 2
リポジトリへ移動
cd carrierwave - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
8,768 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 21
- Open PR
- 0
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Hanami6,422 Stars
共通タグ 1件 · 共通カテゴリ 2件 · 同じ言語
Router・Action・View・DBを小さなcomponentとして組み合わせ、保守しやすいRuby applicationを構築する
Ruby - Ransack5,858 Stars
共通タグ 1件 · 共通カテゴリ 2件 · 同じ言語
RailsのActiveRecordに検索・絞り込み・ソートを追加し、追加検索基盤なしでフォームを構築する
Ruby - AASM5,228 Stars
共通タグ 1件 · 共通カテゴリ 2件 · 同じ言語
Rubyクラスに状態・イベント・遷移を定義し、業務状態の変化をステートマシンとして管理する
Ruby - factory_bot_rails3,139 Stars
共通タグ 1件 · 共通カテゴリ 2件 · 同じ言語
Factory BotをRailsへ統合しfactory自動読込・generator・file fixtureをテスト環境へつなぐ
Ruby - Jekyll51,708 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
MarkdownとLiquidからブログ対応の静的サイトを生成
Ruby - Homebrew49,894 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
macOS/Linuxのソフトウェア導入を
Rubybrewコマンドへまとめるパッケージ管理ツール
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。