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

MacOS / Ubuntu で Ruby on Rails の開発環境を構築する

※ 記事が古くなっていたので見直しました

概要

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

使用する OS / ソフトウエア

  • 基本的に全て最新版でいいと思います

MacOS or Ubuntu などの仮想環境

  • Windows などは、VirtualBox に Ubuntu などの仮想環境を用意し設定するのがオススメ
  • Ubuntu などの仮想環境の場合は、Homebrew の代わりに Linuxbrew を使用する

Homebrew ( Linuxbrew )

  • パッケージ管理マネージャー

rbenv

  • Ruby のバージョン管理マネージャー
  • Ruby の複数バージョンをインストール可能で切り替えも簡単

Postgres or MySQL

  • データベース
  • 好みではあるが選択肢は、MySQL or PostgreSQLを使用するのが良さげ

Git

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

Ruby

  • オブジェクト指向スクリプト言語

Rails

  • 言わずと知れた Ruby のフレームワーク

RSpec

  • テストフレームワーク

インストール手順

Homebrew

1 インストール

  • 公式 HP に記載のあるコマンドを使用
  • 実行場所はどこでもOK
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

参考:https://brew.sh/index_ja

rbenv

1 インストール

  • Homebrew を利用して rbenv を入れる
$ brew install rbenv

2 PATH の設定

2.1 .bash_profileファイルを開く

  • インストール環境に応じてファイルを変更する
$ vim ~/.bash_profile

2.2 .bash_profileに下記を記述

$ if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi

2.3 環境のリロード

$ source ~/.bash_profile

2.4 設定が正しいかチェックする

$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

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

Rubyのインストール

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

$ rbenv install -l

もしインストールしたいバージョンがリリースされているのに、リストに出てこない場合は下記のコマンドを実行してリストを更新する

$ brew update && brew upgrade ruby-build

2 インストールコマンド

  • 上記で確認したバージョンを rbenv install の後に記載する
$ rbenv install 2.6.2

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

$ rbenv global 2.6.2
$ rbenv rehash

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

  • 指定したバージョンがインストール & 選択ができていること
$ rbenv versions
  system
* 2.6.2 (set by /Users/xxx/.rbenv/version)

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

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

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

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

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

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

# リフレッシュ
$ rbenv rehash

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

PostgreSQL のインストール

1 brew serach で postgres のパッケージを探す

$ brew search postgres

2 PostgreSQL のインストール

$ brew install postgresql@10

3 起動

$ systemctl enable postgresql

Gitのインストール

1 インストール

$ brew install git

bash-completionのインストール

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

1 インストール

$ brew install bash-completion

2 .bash-profile を開いて Path を記載

$ vim ~/.bash_profile

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

Gitの設定

1 設定

$ git config --global user.name "[user_name]"
$ git config --global user.email "[user_email_address]"

2 設定情報の確認

$ git config --list

Railsのインストール

1 インストール

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

Railsプロジェクトの作成

1 Railsプロジェクトの作成

  • 「-d [database]」は使用するデータベースをMySQLに指定している(デフォルトではSQLite)
$ cd [Railsプロジェクトを作成したい場所]
$ rails new [project_name] -d postgres

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

1 Gemfileを開く

$ cd [作成したプロジェクト]
$ vim Gemfile

2 Gemfileに下記を追記する

group :development, :test do
  gem 'rspec-rails'
  gem 'factory_bot_rails'
  gem 'spring-commands-rspec'
end

2 gemのインストール

$ bin/bundle

3 RSpec初期化

$ bundle exec rails generate rspec:install

4 .rspecを開き、フォーマットと色付けを設定

$ vim .rspec

--format documentation
--color

5 テストの記載後、実行

オススメの書籍

Ruby
『プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで Software Design plus』

『Effective Ruby』

『Rubyのしくみ Ruby Under a Microscope』

MySQL
『達人に学ぶDB設計 徹底指南書』

『達人に学ぶ SQL徹底指南書』

『Effective SQL』

『プログラマのためのSQL 第4版 すべてを知り尽くしたいあなたに』

Git
『入門git』

『エンジニアのためのGitの教科書 実践で使える!バージョン管理とチーム開発手法』

『エンジニアのためのGitの教科書[上級編] Git内部の仕組みを理解する』

Rails
『Ruby on Rails 4アプリケーションプログラミング』

『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』

『実践Ruby on Rails 4 機能拡張編』

RSpec
『Everyday Rails - RSpecによるRailsテスト入門』

オススメの開発ツール

RubyMine
https://www.jetbrains.com/ruby/

  • ググると様々な紹介記事があるが、この開発環境一つで Ruby on Rails の開発はほぼできると思う(私も業務で使用している)
  • 綜合開発環境というだけあって、開発に便利な機能も満載でとても気に入っている(Git 操作、ターミナルの操作、RSpec の自動起動などなど便利すぎて涙もの)
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
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