概要

・Ruby on Railsのインストール
・TDD環境をセットアップ

対象のバージョン

macOS Sierra
 ・Windowsなどは、VirtualBoxにubuntuなどの仮想環境を用意し設定するのがオススメ
 ・上記の環境であれば、Homebrewの代わりにLinuxbrewを使用することで同じコマンドを使用可能になる

Homebrew 1.1.6(Windowsの場合、Linuxbrewを使用)
 ・パッケージ管理マネージャー
 ・Rubyなどに限らず、様々なパッケージの導入が簡単になる
 ・Macに関してはHomebrewがあればほぼ必要なものは何でも揃う
 ・Windows以外のLinux系OSであれば、Linuxbrewを使用するのがベター

 参考
  http://brew.sh/index_ja.html

rbenv 1.1.0
 ・rubyのバージョン管理マネージャー
 ・rubyの複数バージョンをインストールでき、切り替えも簡単

 参考
  https://github.com/rbenv/rbenv

Ruby 2.4.0
 ・rbenvを利用して導入する
 ・指定バージョンを複数選択・インストールできる

 参考
  https://www.ruby-lang.org/ja/

bundler
 ・gemの管理マネージャー
 ・bundler自身もgemのため、後ほどコマンドでインストールする

 参考
  http://bundler.io

MySQL 5.6
 ・言わずと知れたデータベース
 ・好みではあるが選択肢は、MySQL or PostgreSQLを使用するのが良さげ

 参考
  https://www-jp.mysql.com

Git 2.11.0
 ・ソースコードの変更履歴を記録するバージョン管理システム

 参考
  https://www-jp.mysql.com

Rails 5.0.1
 ・オープンソースのWebアプリケーションフレームワーク

 参考
  http://rubyonrails.org

RSpec
 ・テストフレームワーク

 参考
  http://rspec.info

FactoryGirl
 ・テストデータを用意するGem
 ・RSpecと連携する

Guard
 ・RSpecやRubocopの起動を自動化する

インストール手順

Homebrewのインストール

インストールコマンド

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

rbenvのインストール

インストールコマンド

$ brew install rbenv

PATHの設定

# .bash_profileファイルを開く
$ vim ~/.bash_profile

# .bash_profileに下記を記述
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

# 環境のリロード
$ source ~/.bash_profile

# 設定が正しいかチェックする
$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

参考:https://github.com/rbenv/rbenv#installation

Rubyのインストール

インストールするバージョンの確認

$ rbenv install -l

インストールコマンド

 ・上記で確認したバージョンを「rbenv install」の後に記載する
 ・本記事ではrubyの最新バージョンである2.4.0を使用する

$ rbenv install 2.4.0

インストールしたバージョンの適用

$ rbenv global 2.4.0
$ rbenv rehash

インストールしたバージョンの確認

 ・指定したバージョンがインストール & 選択ができていること

$ rbenv versions
備考:複数バージョンのインストールと切り替え

# Rubyインストールリストの更新
$ brew upgrade ruby-build

# インストール
$ rbenv install -l
$ rbenv install [バージョン]

# アンインストール
$ rbenv uninstall [バージョン]

# インストールしたバージョンの適用
$ rbenv global [バージョン]
 #=> mac全体に適用する場合に選択する

$ rbenv local [バージョン]
 #=> 特定のRailsプロジェクトなどに適用する場合に選択する
 #=> 事前に指定したいRailsプロジェクトに移動しておく

# リフレッシュ
$ rbenv rehash

# インストールされているバージョンの確認
$ rbenv versions

bunderのインストール

インストールコマンド

$ rbenv exec gem install bundler

※ 「rbenv exec」を付けることで、rbenvで適用されているRubyのgemを明示的に実行している

MySQLのインストール

brewの検索

$ brew search mysql

MySQLのインストール

$ brew install mysql@5.6

バージョンを確認

$ mysql --version

起動

$ mysql.server start

# 停止の場合
$ mysql.server stop

MySQLのセキュリティ設定

 ・セキュリティの設定を良しなにしてくれるコマンド
 ・対話形式で設定を進めていく(英語)

$ mysql_secure_installation

Gitのインストール

インストール

$ brew update
$ brew install git

Gitのバージョン確認

$ git --version

Tigのインストール

CUIのGitブラウザ

インストール

$ brew install tig

bash-completionのインストール

CUIのGitコマンド入力を補完してくれる

インストール

$ brew install bash-completion

.bash-profileを開く

$ vim ~/.bash_profile

if [ -f $(brew --prefix)/etc/bash_completion ]; then
  . $(brew --prefix)/etc/bash_completion
fi

Gitの設定

$ git config --global user.name "[user_name]"
$ git config --global user.email "[user_email_address]"
$ git config --global color.diff auto
$ git config --global color.status auto
$ git config --global color.branch auto
$ git config --global push.default simple
$ git config --global core.precomposeunicode true
$ git config --local core.precomposeunicode true
$ git config --global core.quotepath false
$ git config --global core.editor 'vim -c "set fenc=utf-8"'

設定情報の確認

$ git config --list

Railsのインストール

インストールコマンド

$ gem install rails

※ バージョンを指定しない場合、最新バージョンがインストールされる
※ 実行場所はどこでも可

Railsプロジェクトの作成

$ cd [railsプロジェクトを作成したい場所へ移動]
$ rails new [project_name] -d mysql -B

※ 「-d mysql」は使用するデータベースをMySQLに指定している(デフォルトではSQLite)
※ 「-B」でbundle installをスキップしている(後ほどまとめて行うため)

TDD環境設定(RSpecのインストール)

Gemfileを開く

$ vim Gemfile

Gemfileに下記を追記する

group :development, :test do
  gem 'rspec-rails'
  gem 'factory_girl_rails'
  gem 'guard'
  gem 'guard-rspec'
  gem 'terminal-notifier-guard'
end

gemのインストール

$ bundle install --path vendor/bundle --without prodcution --jobs=4

RSpec初期化

$ bundle exec rails generate rspec:install

.rspecを開く

$ vim .rspec

フォーマットとカラーを設定

--format documentation
--color

spec_helper.rbを開く

$ vim spec/spec_helper.rb

下記の設定を追記する

require 'rubygems'
require 'spork'

Spork.prefork do
end

Spork.each_run do
end

ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
require 'rspec/rails'
require 'factory_girl'

Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
Dir[Rails.root.join("spec/models/concerns/**/*.rb")].each { |f| require f }

RSpec.configure do |config|
  config.fixture_path = "#{::Rails.root}/spec/fixtures"
  # config.use_transactional_fixtures = true
  config.infer_base_class_for_anonymous_controllers = false
  config.order = 'random'
  config.before :all do

  FactoryGirl.reload
  end
end

Guardの初期化

$ bundle exec guard init rspec

Guardの起動

$ bundle exec guard

※上記コマンドでguardを立ち上げておくと、specファイルまたは、specファイルに関連付けされたファイルを保存するときに自動的にテストが実行される

オススメの書籍

Ruby
 『プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで Software Design plus』
 https://www.amazon.co.jp/プロを目指す人のためのRuby入門-言語仕様からテスト駆動開発・デバッグ技法まで-Software-Design-plus-ebook/dp/B077Q8BXHC/ref=sr_1_2

 『Effective Ruby』
 https://www.amazon.co.jp/Effective-Ruby-Peter-J-Jones-ebook/dp/B00SF6JN4K/ref=sr_1_12

 『Rubyのしくみ Ruby Under a Microscope』
 https://www.amazon.co.jp/Rubyのしくみ-Ruby-Under-Microscope-PatShaughnessy-ebook/dp/B01IGW56CU/ref=sr_1_26

MySQL
 『達人に学ぶDB設計 徹底指南書』
 https://www.amazon.co.jp/達人に学ぶDB設計-徹底指南書-ミック-ebook/dp/B00EE1XPAI/ref=sr_1_12

 『達人に学ぶ SQL徹底指南書』
 https://www.amazon.co.jp/達人に学ぶ-SQL徹底指南書-ミック-ebook/dp/B00DIM6330/ref=sr_1_4

 『Effective SQL』
 https://www.amazon.co.jp/Effective-SQL-JohnL-Viescas-ebook/dp/B076Z8BC4Y/ref=sr_1_8

 『プログラマのためのSQL 第4版 すべてを知り尽くしたいあなたに』
 https://www.amazon.co.jp/プログラマのためのSQL-第4版-すべてを知り尽くしたいあなたに-Joe-Celko-ebook/dp/B00SF6JN4U/ref=sr_1_9

Git
 『入門git』
 https://www.amazon.co.jp/入門git-TravisSwicegood-ebook/dp/B01IGW5JD6/ref=sr_1_9

 『エンジニアのためのGitの教科書 実践で使える!バージョン管理とチーム開発手法』
 https://www.amazon.co.jp/エンジニアのためのGitの教科書-実践で使える!バージョン管理とチーム開発手法-株式会社リクルートテクノロジーズ-ebook/dp/B01AIB438A/ref=sr_1_5

 『エンジニアのためのGitの教科書[上級編] Git内部の仕組みを理解する』
 https://www.amazon.co.jp/エンジニアのためのGitの教科書[上級編]-Git内部の仕組みを理解する-河村聖悟-ebook/dp/B01AAIN85K/ref=sr_1_10

Rails
 『Ruby on Rails 4アプリケーションプログラミング』
 https://www.amazon.co.jp/Ruby-Rails-4アプリケーションプログラミング-山田祥寛-ebook/dp/B00JZKX6DE/ref=sr_1_12

 『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』
 https://www.amazon.co.jp/実践Ruby-Rails-4-現場のプロから学ぶ本格Webプログラミング-黒田-ebook/dp/B00LBPDNSY/ref=sr_1_11

 『実践Ruby on Rails 4 機能拡張編』
 https://www.amazon.co.jp/実践Ruby-Rails-4-機能拡張編-黒田-ebook/dp/B00MWK10CS/ref=sr_1_16

RSpec
 『Everyday Rails - RSpecによるRailsテスト入門』
 https://leanpub.com/everydayrailsrspec-jp

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.