#はじめに
Railsアプリ開発に途中から参加する場合の環境設定についてメモします。
#開発環境
- OS
- Mac OS X Yosemite
- 10.10.5
- Mac OS X Yosemite
- Software
- git
- 2.3.8
- Ruby
- 2.2.2
- rbenv
- 0.4.0
- git
#プロジェクトのクローン
ここでは、gitでソースコード管理を行っているものとします。Githubの場合は以下のようにクローンします。
$ git clone https://github.com/xxx/yyy.git
#Rubyのバージョン合わせ
通常、Rubyのバージョンをrbenvで管理していると思うので、クローンしたプロジェクトのディレクトリに移動し、Rubyのバージョンを確認します。
$ cat .ruby-version
2.2.2
一方で、rbenvに上記のバージョンが入っている保証はないので、以下のコマンドで確認します。
$ rbenv versions
system
2.1.2
2.1.3
2.1.4
2.2.1
* 2.2.2 (set by /path/to/project/.ruby-version)
上記の様に、rbenvにすでに入っているバージョンであれば問題ありません。
一方で、下記のようなエラーが出た場合にはrbenvにRailsプロジェクト内で用いるバージョンのRubyをインストールする必要があります。
rbenv: version `2.2.2' is not installed
#Bundlerの導入
RubyではRubyGemsというパッケージ管理システムにより、ライブラリをインストールすることができます(RubyGemsはMacでいうところのHomebrew、Redhat系でいうところのyum、Debian系でいうところのapt-getのようなものです)。
基本的にはgemコマンドでライブラリをインストールすればライブラリを使用することができるようになりますが、ライブラリのバージョン管理など細かい設定を行うことができません。
そこでBundlerの出番です。Bundlerを用いることで、gemパッケージ(ライブラリ)の導入やバージョン管理をスムーズに行うことができます。
gemコマンドもrbenvによりバージョン管理されているため、作業ディレクトリで以下のコマンドを叩き、gemコマンドによりBundlerを導入します(BundlerもRubyGemsにより提供されています)。
$ gem install bundler
次に、Bundlerにより、開発で利用しているgemパッケージ群をインストールします。この時、どのgemパッケージを用いるかは、Gemfileに記されています。
$ bundle install
以上で、プロジェクトで用いているgemパッケージを導入することができました。
#データベースの設定
データベースの種類により設定方法が変わりますが、Rails側ではRakeコマンドを用いてデータベースの作成とテーブルの作成を行うのみです。
$ bundle exec rake db:create
$ bundle exec rake db:migrate
また、MySQLやPostgreSQLでは接続先データベースやユーザなどを設定する必要があります。プロジェクトでどのデータベースを用いているか確認した上で、config/database.ymlに書かれている内容をデータベースに設定する(DBやユーザの作成など)を行います。例えば、PostgreSQLの場合の設定はMacのRailsアプリでPostgreSQLを使う方法を参照ください。
#プロジェクトの動作確認
プロジェクトによっては、他にも設定箇所がある場合もありますが、基本的には上述した内容で環境設定終了です。Railsサーバを立ち上げ、ブラウザで動作確認を行いましょう!
$ bundle exec rails s