【Ruby on Rails 6.0~】開発環境で Action Text の実装 -- 【MySQL】


経緯

Ruby on Rails で 「Action Text」を実装した Web アプリケーションを開発する為に、試用版のテストアプリを作りました。「RDBMS」は馴染みのある「MySQL」を採用しています。今回の記事では、いくつものエラーに苦しみながら開発環境を構築する、ありがちな一例をご紹介します(本番環境は後日、別の記事にまとめる予定です)。ちなみに Docker を活用すると、こうした苦労が激減すると思います。
※各ツールの最新バージョンは、2020年8月30日時点です。

やる事

  • 必要なツールのバージョン策定とインストール
  • web アプリケーション作成
  • 「Action Text」の実装
  • 開発環境でアプリの動作確認
  • 開発環境で他のアプリへの影響を確認

必要なツール(◎ = 実装済み、★ = エラーに関与)

作業手順(▲ = エラーに関係している箇所)

  1. ターミナルで作業用のフォルダへ移動

  2. Rubyインストール

  3. ▲ nodebrewインストール

  4. ▲ node.jsインストール

  5. gemfile 作成と編集

  6. ▲ Railsと必要な gem(webpacker, mysql2, image_processing)のインストール

  7. ▲ ImageMagickインストール(homebrew からインストールした事で最新版にアップデートされてしまった)

  8. Rails アプリ作成

  9. scaffold で必要なファイルを一括作成

  10. Action Text の実装

  11. ▲ model と controller と view などのファイルのコード書き換え

  12. ▲ データベースのセットアップ

  13. ▲ localhost サーバー起動と動作確認

  14. ▲ 既存のアプリの開発環境の動作確認

発生したエラーの整理

  • エラー① ... インストール先のフォルダが見つからなかった。(手順3)
  • エラー② ... 環境パスを通す為のシェルの種類が違った。(手順4)
  • エラー③ ... openssl が必要なバージョンではなかった。(手順6)
  • エラー④ ... サーバー接続後、「mysql2」のバージョンが不適切でアクセス不能のエラー。(手順6, 13)
  • エラー⑤ ... ActionText 投稿フォームのタイトルで使用する、データベースのカラムの型(string)の上限容量の不足。(手順11, 12)
  • エラー⑥ ... 既存のアプリからサーバー接続時、openssl のパスが通らなかった。(手順13, 14)
  • エラー⑦ ... 既存のアプリからサーバー接続時、 ImageMagick のバージョンが不適切で起動できなかった。(手順13, 14)

エラー解決で参考にした記事

【エラー①, ②(nodebrew と node.js)】

【エラー③, ④, ⑥(mysql2 と openssl)】

【エラー⑤(Ruby on Rails6系 と MySQL5系)】

【エラー⑦(ImageMagick と rmagick)】