LoginSignup
58
47

More than 5 years have passed since last update.

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

Posted at

はじめに

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
58
47
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
58
47