最終更新日:
公開日:
ファイナンス
仕訳帳アプリ制作日記 vol.5
昨年12月から製作中の経理用「仕訳帳アプリ」について開発進捗状況をお届け。5回目となる今回は、RoR(Ruby on Rails)との格闘している経過を紹介します。
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で作ろうかな」とか思っていたけど、諦めなくて本当に良かった。
ちなみに現在は会員登録周りを実装しています。
引き続き、ズイズイ進めていきます。また改めて進捗報告します!
関連記事
こちらの記事は役に立ちましたか?
コメントありがとうございます!
運営の参考にさせていただきます。
ありがとうございます。
もしよろしければ、あわせてフィードバックや要望などをご入力ください。