Ruby on Railsローカル開発環境構築〜Herokuで公開まで

Ruby on Railsでプログラミングを初めて1年がたちました。まずはAmazonのAWSを使って開発を行い、メッセージをやりとりできる ツイッターに似たアプリケーションを作りました。しかし、やっぱりエンジニアとしてこれからいろんなシステムを作るのであれば ローカル開発環境でしていきたいと思い、試行錯誤を繰り返しながらなんとか設定することができました。
初心者なので詳しいことまではわかりませんが、行ってきたことをまとめてみます。

Ruby on Railsアプリケーションをローカル開発環境で作る(初級編)

▶︎ homebrewをインストール

まずはhomebrewをインストールしましょう ”homeと名がついているくらいなので全てを管理するというイメージを持っててください”
詳しくはこちらに載ってます↓
https://brew.sh/index_ja.html

▶︎ rbenvのをインストール

続いてrbenvをインストールです。”とても簡単にまとめると次にRubyをインストールしますが、そのバージョン管理とかをしてくれます。とても便利です!!”
ローカル開発環境構築を行う上で家で例えると骨格みたいなものです。
実行コードはこちらです↓

$ brew install rbenv
$ brew install ruby-build
$ rbenv version ←バージョン確認

上記の実行後に管理ファイル”bash_profile”に追記します
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
$ source ~/.bash_profile

▶︎ Rubyインストール

$ rbenv install 2.4.5 ←任意のバージョン指定

まずこれでrbenvにRubyのバージョンが一つ入りました。Ruby on Railsをローカル開発環境で進めていくとバージョン管理でぶつかってしまうことが多々あります。
特にRubyのバージョンは家で例えると各部屋のサイズを決めていくくらい重要です。”部屋のサイズは家具などを置くときはとても影響しますもんね”
とにかく絶対おろそかにしてはダメです。
インストールしたバージョンは下記を実行すると一覧を見れます

$ rbenv versions

続いてバージョン設定します。こちらを実行↓

$ rbenv global 2.4.5 ←Rubyのバージョン指定
$ rbenv rehash ←バージョン指定後に必要なものを入れてくれます
$ ruby -v ←実際に設定されたか確認します

バージョンまで確認して無事入っていればOK!

▶︎ bundlerインストール

Ruby on Railsはフレームワークであるためたくさんのライブラリが用意されています。 ”また家で例えますとフレームワークを部屋だとするとライブラリは部屋に置く家具リストみたいなものです”
なかなか想像が難しいかもしれませんが...
それでbundlerとはそのライブラリを管理してくれるものです。 ”あの家具ほしいと思ったら許可を出してくれます。管理員ですな!”
その管理員を用意する(インストール)します↓

$ gem install bundler
$ bundle -v

▶︎ Ruby on Rails用フォルダ作成

早速アプリケーションを作成していきましょう。
まずはRuby on Railsのアプリケーション保管用のフォルダを作成します。

$ mkdir ~/space ←初心者はデスクトップへの作成がおすすめです $ cd ~/space ←フォルダへ移動します

続いて作成したフォルダにbundlerを使ってライブラリを記述するGemfileの雛形を作っていきます。
"Gemfileはライブラリを記入するノートみたいなものです。"

$ bundle init

これで実際にRuby on Railsをローカル開発環境の大枠ができました。”家で例えるなら空っぽの家が完成したという感じです” 次にspaceフォルダの中に出来上がったGemfileを編集します。↓

【Gemfile内】
# A sample Gemfile
source "https://rubygems.org"
 ←コメントを外す gem "rails" ←コメントを外す

Gemfile内に書いただけではライブラリとして認めてもらえません。認めてもらうためには下記のコードを実行します。

$ bundle install --path=vendor/bundle 
↑Gemfile内のライブラリをインストールします

▶︎ Gitインストール

Ruby on Railsの開発を進める時に必要となるのがGitです。開発の履歴管理をしてくれます。”また家で説明しますとどんな家具を置いたか、 どのような配置にしたかなどなど、履歴として管理してくれます”
また、戻りたい履歴の状況へ簡単に戻ることができます。”まるでタイムリープしたみたい”
こんな感じです。Railsアプリでは作成した時点でGitはインストールされます。下記のコードでGitのバージョン確認することが出来ます。

$ Git --version

ではでは、Gitの設定をしていきましょう。

git config --global user.name "(名前)"
git config --global user.email "(メールアドレス)"
git config --global color.ui true

以上でgitの設定は終了です。

▶︎ Ruby on Railsアプリケーション作成

とりあえず設定関係は終了したので、いよいよアプリケーションを作成していきます。
下のコードを実行するだけで作れちゃいます。

$ rails new アプリケーション名

次にアプリへ移動

$ cd アプリケーション名

Railsアプリケーションは基本的に実行プラットフォーム(PaaS)のHEROKUを使用する必要があります。
詳細はこちらのページをご覧ください →herokuとは?初心者でも5分で分かる基本や特徴をまるっと紹介 とても簡単に設定ができすぐに公開することができますが、多少の設定が必要です。
設定していきましょう!!
まずはHEROKUでは基本的に公開する時のデータベースは Postgres と決まっていますので、 公開用のデータベースを Postgresに変更します。  ”ちなみに開発のデータベースは既存のものを使います。意外とシンプルです”
アプリケーションファイルにあるGemfileを開きます。すると下記の内容があると思いますのでそれを編集します。

gem 'sqlite3'

↑を↓に変更します

group :development do
gem 'sqlite3'
end
group :production do
gem 'pg'
gem 'rails_12factor'
end

はい、とりあえずこれでデータベースの設定はOKです。 ”超簡単!!”
編集したファイルを更新しておきましょう。

$ bundle update ←ファイル内の変更をアップデートします
続いて公開用のページを作っておきましょう〜
下記のコードはtoppagesというコントローラーとindexというページを作成するという意味です。

$ rails g controller toppages index

これでindexというページができした。それではどんどんいきますが、toppages
とindexをつなぐ設定をします。
→あっとその前に実行したコードでエラーが出ることがありますがそれはデータベースとrubyのバージョンが かみ合っていない場合に起こるエラーだと思いますので、先ほどのGemfileをまた編集します。

group :development do
gem 'sqlite3',"1.3.6"
↑赤色の部分が追加となります、ちなみにバージョン指定はエラーによって違ってきます
end
group :production do
gem 'pg'
gem 'rails_12factor'
end

それではまた

$ bundle update

を実行すれば完了です

話を戻しますが、コントローラーのtoppagesとページのindexを設定します。 これも簡単です。Ruby on Railsをローカル開発環境で行うにあたって大事にしないといけないのは MVC(Model, View, Controller)です。まあとりあえず、説明は省略しますが、気になる人は↓をご覧下さい。

Ruby on RailsのMVCの基本概念をおさえる

設定にはアプリケーションのconfig/routes.rbを編集します。

root :to => 'toppages#index'

これを追記することによって最初URLにアクセスした時にまずindexのページが開かれます。これで公開する最低限のアプリケーションの設定は完了です。
1回試しにブラウザで確認してみましょう。コマンドを実行!! ”これだけでプレビューがみれますよ”

$ rails s

実行したらhttp://localhost:3000にアクセス
ページに「pagges#index」とあればOKです。”意外と簡単ですね!!”

▶︎ HEROKUで公開

やっとここまできました。まずはHEROKU用のデータベースの設定を完了します。
config/database.ymlのファイルを編集します。
productionを全て下記のコードに書きかえます。

production:
adapter: postgresql
encoding: unicode
database:
pool: 5
username:
password:

これで全ての設定が完了しました。
続いてGitでgitignoreを生成するためにgiboをインストールします。

$ brew install gibo

ではではgitを使い、具体的に公開の準備をしていきます。

$ git init ←Git管理を開始するときに実行する
$ gibo OSX Ruby Rails SASS SublimeText >> .gitignore  ↑必要のないファイルを削除します

次のコードはGitの基本コマンドになります。バージョン登録する場合は実行します。

$ git add .
$ git commit -m "ここは任意のメッセージ"

次にHEROKUを登録して使用していきます。 HEROKU公式サイト
サイトにアクセスして、登録を行います。

  • ・名前
  • ・苗字
  • ・電子メールアドレス
  • ・会社名(任意)
  • ・国
  • ・一次開発言語(今はRubyを選択)

これらの項目に入力します。最終的にメールアドレスへ登録用のURLが送信されますのでメールを開いて登録完了です。
続いてHEROKUをターミナルで扱えるようにToolbeltをインストールします。

$ brew install heroku 

インストールできたのでログインします。

$ heroku login

アカウント作成時に登録したメールアドレスとパスワードが聞かれますのでそれぞれ入力します。
ログインできたら、HEROKUに公開用のアプリを作成します。

$ heroku create ←もし名前を付けたければ語尾に名前を入力して実行します

これでアプリが作成されます。 ”公開用の箱ができましたので実際にRailsアプリを格納していきます” 
上でも説明しましたが、アプリを公開させるときは

$ git add .
$ git commit -m "ここは任意のメッセージ"

を毎回実行してから下記の公開用コードを実行します。 ”公開用の箱にRailsアプリを格納するコマンド”

$ git push heroku master

これでアプリが公開されました。

$ heroku open

このコマンドを実行してサイトを開きます。これでなんとか公開までが終了となります。 ”お疲れ様です”

▶︎ 公開までに起きたエラー集と解決方法

●git push heroku masterからのエラー①
エラー文:You must use bundle 2 or greater with this lockfile.
対処:heroku buildpacks:set https://github.com/bundler/heroku-buildpack-bundler2を実行する。
●git push heroku masterからのエラー②
エラー文: [rejected] master -> master (non-fast-forward)...(以下省略)
対処①:とりあえず「rejectされた時の対処方法」を参照します。
対処②:①で解決できなかったときは「GitHubでssh接続〜鍵の作成」で対処します。

▶︎ まとめ

今回はRuby on Railsアプリケーションをローカル開発環境で作成し、公開まで行いました。ここまでできれば 今後プログラミンをしっかりできさえすればどんなアプリでも開発公開することができます。初心者として言わせていただくと、ほんと開発環境を整えるだけ でもなかなかの労力が必要でした。まだまだこれからだと思っています。とりあえずどうやって勉強したらわからないという方は一度オンライン講座を受けてみるといいです。 専門学校などに行かなくても短期間で基礎知識を身につけることができます。諦めず頑張っていきましょう。


NEXT