Help us understand the problem. What is going on with this article?

Railsアプリ開発に途中から参加する場合の環境設定

More than 3 years have passed since last update.

はじめに

Railsアプリ開発に途中から参加する場合の環境設定についてメモします。

開発環境

  • OS
    • Mac OS X Yosemite
      • 10.10.5
  • Software
    • git
      • 2.3.8
    • Ruby
      • 2.2.2
    • rbenv
      • 0.4.0

プロジェクトのクローン

ここでは、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
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした