How to create local environment - JunichiIto/rubyist-connect GitHub Wiki

開発環境作成手順

この手順は基本的にMacを対象にします。

うまくいかない場合は Issue 等を利用して質問してください。
また、手順の間違いや他の人も困りそうな補足事項があれば、このWikiを自由に編集してもらって構いません。

基本的な環境構築

すでに完了している人は読み飛ばしてもらっても構いません。

rbenvのインストール

Rubyのバージョン管理はrbenvで行うことを推奨します。
以下はrbenvのセットアップを説明しているサイトの例です。

OS X で rbenv を使って ruby 1.9.3 or 2.0.0 の環境を作る

ただし、2013年の記事なので情報が古くなっている部分があるかもしれません。
適宜、ネットの情報を参考にしながらrbenvをインストールしてください。

また、rbenv-gem-rehashを入れておくと面倒なrbenv rehashの実行が不要になるので、あわせてインストールしておくことをオススメします。

rbenv を使っているなら rbenv-gem-rehash を使おう

適切なバージョンのRubyのインストール

rbenvを使ってRubyをインストールしてください。
rubyist-connectで使用しているRubyのバージョンは以下のファイルで確認できるので、同じバージョンのRubyをインストールします。

https://github.com/yuji-shimoda/rubyist-connect/blob/master/.ruby-version

rubyist-connectで利用しているRubyのバージョンが見つからない場合

既に rbenv を利用しているが、rbenv install -l で 対象のバージョンがリストに無い場合は以下を実行してください。
(Ruby 2.2.0を例として挙げます)

$ brew update && brew upgrade ruby-build
$ rbenv install 2.2.0

それでもRuby 2.2.0がリストにない場合は下記サイトを参考にruby-buildを最新にして下さい。

rbenv install -l で最新バージョンが出ない時の対処

PostgreSQLのインストール

PostgreSQLをインストールしてください。
Homebrewでインストールするのが手軽だと思います。

Homebrewを使ったPostgreSQLのインストール(Mac OS Lion)

Homebrewをインストールしていない場合は、先にHomebrewをインストールしてください。

MacにHomebrewをインストールする

このあたりの情報も変化が激しいので、適宜ネット上の最新情報を参考にしてみてください。

initdb: cannot be run as root というようなエラーが出る場合

途中で次のようなエラーが出た場合、Homebrewの権限がまずいかもしれません。

initdb: cannot be run as root
Please log in (using, e.g., "su") as the (unprivileged) user that will
own the server process.
Warning: The post-install step did not complete successfully
You can try again using `brew postinstall postgresql`

brew install xxxError: Permission deniedが出たためsudo brew xxxを実行していましたが、root権限で実行しちゃだめとのエラーなので、brewディレクトリの権限を変更する必要があります。
(your_nameの部分は自分のユーザーに置き換えてください)

sudo chown -R $USER /usr/local
sudo chown -R $USER /Library/Caches/Homebrew
sudo chown -R $USER /Users/your_name/Library/Logs/Homebrew

Gitのインストール

Gitのインストールが済んでいない人はGitをインストールしてください。

gitインストールを1分で済ませる【Mac編】

GitHubアカウントの作成

GitHubアカウントを作成していない人はアカウントを作成してください。
また、必要に応じてSSH認証キーの登録等を済ませておいてください。

SSH認証キーをGitHubへ設定する。(Mac用)

Powのインストール

Powをインストールしておくと、毎回Railsサーバーを立ち上げなくて済むので非常に便利です。(ただしMac限定)
Powのインストールは以下のコマンドで実行できます。

curl get.pow.cx | sh

Powについて詳しく知りたい場合はネットの情報を参考にしてみてください。

例:Rails開発でおすすめのRackサーバ「Pow」

rubyist-connectの環境構築

これ以降はrubyist-connect固有の環境構築手順になります。

リポジトリを自分のアカウントにフォークする

https://github.com/yuji-shimoda/rubyist-connect/ にアクセスし、画面右上の「Fork」ボタンをクリックして、リポジトリを自分のGitHubアカウントにフォークしてください。

ローカルマシンにリポジトリをcloneする

フォークしたリポジトリを開いて、SSH URLをコピーします。(画面の右端に表示されています)
以下のようにして、ローカルにリポジトリをクローンしてください。

cd (任意の開発用ディレクトリ)
git clone [email protected]:(あなたのGitHubアカウント)/rubyist-connect.git
cd rubyist-connect

必要なGemをインストールする

Bundlerを使って、Gemをインストールしてください。

bundle install -j4

bundleコマンドが見つからない場合は、先にgemをインストールしてください。

gem install bundler

開発用/テスト用データベースを作成する

rakeコマンドを使って開発用/テスト用データベースを作成してください。

bin/rake db:create:all
bin/rake db:migrate

settings.local.ymlを用意する

以下のコマンドを使ってsettings.local.ymlをコピーします。

cp config/settings.local.yml.sample config/settings.local.yml

次に適当なテキストエディタを使って config/settings.local.yml を以下のように編集します。

Pow ( http://rubyist-connect.dev )を使う場合(推奨)

github:
  client_id: '34ce07179a5538130a52'
  secret: '028fafc572b1d3d790acb4d20171d5a3eb200af8'

rails s ( http://localhost:3000 )を使う場合

github:
  client_id: 'f11237c6b02251033dea'
  secret: '48f3a84d6c5a89c4a017a550ac8aa880618bb26d'

Powのリンクを作成する

bin/rails sではなく、Powを使って画面を開けるようにしておくと便利です。 Powを使って画面を開く場合は以下の手順でセットアップします。

# Powder gemをまだインストールしていない場合
gem install powder

powder link
powder open
# 12/28 Ruby 2.2.0 update 後、gem install powder したら以下のエラーだった。
$ gem install powder
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    Errno::ETIMEDOUT: Operation timed out - connect(2) for "au-m.rubygems.org" port 443 (https://api.rubygems.org/gems/powder-0.3.0.gem)
$

# 一時的に、インストールソースを変更して対処
$ gem source --remove https://rubygems.org/
https://rubygems.org/ removed from sources
$ gem source --add https://tokyo-m.rubygems.org/
 
https://tokyo-m.rubygems.org/ added to sources 
$ gem install powder
Fetching: powder-0.3.0.gem (100%)
Successfully installed powder-0.3.0
Parsing documentation for powder-0.3.0
Installing ri documentation for powder-0.3.0
Done installing documentation for powder after 0 seconds
1 gem installed
$ 

ブラウザが起動し、 http://rubyist-connect.dev というURLでエラーなく画面が表示されればOKです。

PowderのTips

PowderはPow用のショートカットコマンドを提供してくれるgemです。 開発中は以下のようなコマンドをよく使うと思います。

# Powの再起動
powder -r

# development.logの確認(終了はCtrl-C)
powder applog

新しいGemをインストールしたり、config以下のファイルを変更したりした場合は、Powを再起動しないと変更が反映されない場合があります。

GitHub認証を確認する

GitHub Loginボタンをクリックし、ログインできることを確認してください。

テストがパスすることを確認する

以下のコマンドを実行し、テストがすべてパスすることを確認してください。

bin/rspec

まとめ

以上で環境構築は完了です。

アプリケーションに変更を加える場合は、続けて開発手順を確認してください。

開発手順