BLOG

仕訳帳アプリ制作日記 vol.5

  1. 最終更新日:
  2. 公開日:

昨年12月から製作中の経理用「仕訳帳アプリ」について開発進捗状況をお届け。5回目となる今回は、RoR(Ruby on Rails)との格闘している経過を紹介します。

仕訳帳アプリ制作日記 vol.5

Ruby on Railsの学習に苦戦

前回の「仕訳帳アプリ制作日記 vol.4」では、HTMLコーディングが一通り終わったよーという報告をしました。HTMLが揃ったら、いよいよシステム実装です。ということで、徐々に学習を進めてきたRuby on Rails(以下、RoR)と真っ向勝負。しかしこれが中々思うように進んでいないのが正直なところ。

実はRoRの使用準備から苦戦していた

今だから言いますが、Macのローカル環境へRoRをインストールするところでかなり躓きました。こうして制作日記を書いて「順調に進んでいるアピール」をしておきながら、裏では大苦戦。思い出すだけで嫌になる。本番環境を構築するときも同じことするのか...と憂鬱です。

大きなところでは、次の3つが大変でした。

  • gemでnokogiriがビルドできずにエラー - 原因:Homebrewとgemの権限が異なっていた
  • Passengerのインストールエラー - 原因:Passengerに必要なモジュールが足りなかった
  • RoRのMysqlモジュールエラー - 原因:RoRの環境設定に失敗していた

gemでnokogiriがビルドできずにエラー

1つ目のnokogiriが原因よるエラーは検索すると同様のケースが見つかります。
nokogiriをビルドできずにrailsのインストールが失敗する。 - Qiita

原因も数パターンあるようですが、僕の環境でダメだった原因は「Homebrew」と「gem」のインストールをしたユーザー権限がそれぞれ異なっていたということでした。そりゃ無理だ。
これが原因でRoR開発は1週間ぐらい躓き、解決するまでアホみたいに時間かかりましたとさ...。

Apache + Passengerの組み合わせを用意する

ここの作業はこちらのページを参考に進めました。本当助かりました。
PassengerでRuby On Railsアプリを公開するまで - Qiita

こちらの「Passengerのインストール」部分を見るとわかりますが、ApacheでPassengerを動かすには必須なモジュールがいくつかあります。ターミナルで「passenger-install-apache2-module」コマンドを打つと必要なモジュールとヒントをくれるのですが、これがサッパリ分からない。

しばらく調べてみて分かったのは、まずApacheのAPU(Apache Portable Runtime)とAPRU(Apache Portable Runtime Utility)をインストールすること。下記のApacheのサイトからダウンロードし、makeコマンドでインストールします。
The Apache Portable Runtime Project

そして次が重要だったのですが、インストール後に「ln」コマンドでシンボリックリンクを設定する必要がありました。これをしないと動きません。

RoRのMysqlモジュールエラー

これは凡ミス。gemでmysql2をインストールするところまでは良かったのですが、「/config/database.yml」の設定記述が間違っていた...。

と、主に3つの失敗原因がありましたが、実際には細かい部分を含めて無数のエラーが発生しておりました。僕は今回の件で思ったことはただ1つ。

Ruby on Railsは本当に使いやすいのか!?

主にRoRの動く環境を用意するのが中々しんどいなーというのが感想です。いや、自分の理解不足によるところが大きいのは否定できない。

環境が整って、いざ開発に入ってからはすこぶる順調です。PHPと勝手が違う部分はあるものの、データベース周りが結構自動化されていて便利。まだ初期段階なのであれですが、SQLとか一度も書いてません。

以上のことから、ここまで進めてきた体感としては、学習コストを払えば、それ以上の開発効率はしっかり享受できるぞ!ということ。最初しんどくて「やっぱPHPで作ろうかな」とか思っていたけど、諦めなくて本当に良かった。

ちなみに現在は会員登録周りを実装しています。

会員登録ページ

引き続き、ズイズイ進めていきます。また改めて進捗報告します!

前のページ仕訳帳アプリ制作日記 vol.4

次のページ仕訳帳アプリ制作日記 vol.6

記事一覧

  1. 経理用アプリを作るぞ!(自分のために)
  2. 仕訳帳アプリ制作日記 vol.1
  3. 仕訳帳アプリ制作日記 vol.2
  4. 仕訳帳アプリ制作日記 vol.3
  5. 仕訳帳アプリ制作日記 vol.4
  6. 仕訳帳アプリ制作日記 vol.5
  7. 仕訳帳アプリ制作日記 vol.6
  8. 仕訳帳アプリ制作日記 vol.7
  9. 仕訳帳アプリ制作日記 vol.8

記事一覧