LoginSignup
4
3

More than 3 years have passed since last update.

Ruby on Rails 5.2.3(+PostgreSQL)開発環境を構築(macOS Mojave)

Last updated at Posted at 2019-06-23

よく聞かれるので、クリーンインストールされたMacbookにRuby on Railsの開発環境を構築する方法を記載します。

概要

この記事では、以下のバージョンをインストールします。インストール時にバージョン指定を変えることも可能です。

  • Ruby 2.6.3
  • Rails 5.2.3

この記事のゴール

クリーンインストールされたMacから、この画面を表示するところまで進めます!

image.png

私が環境構築時に使ったmacOSのバージョンはこちらです。

Screen Shot 2019-06-23 at 17.36.05.png

Xcode

Xcodeをインストールします (App Storeから)

Screen Shot 2019-06-23 at 14.46.34.png

Xcodeの利用規約に同意します

Xcodeを起動、利用規約に同意し、Command + Qで終了する

Homebrew

Homebrewをインストールするため、ターミナルを起動してコマンドを実行します

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

参考: https://brew.sh/

画像のようにInstallation successful!と出ればOKです

image.png

もしXcode CLTがインストールできないというエラーが出る場合、こちらからXcodeに合ったバージョンのXcode CLTをダウンロードします(Command Line Tools for Xcodeを探す) https://developer.apple.com/download/more/

brewコマンドが使えることを確認します

brew --version
# => Homebrew 2.1.6

rbenv

Rubyのバージョンを選んで使えるようにするため、Homebrewを使ってrbenvをインストールします。次のコマンドを実行します。

brew install rbenv
rbenv --version
# => rbenv 1.1.2

Ruby (2.6.X)

rbenvでRuby 2.6.Xをインストールします

# インストール可能なRubyの一覧を表示(たくさん出ますが気にせず)
rbenv install --list

image.png

# 今回はなるべく新しい安定版(stable version)の2.6.3をインストールしてみます
rbenv install 2.6.3
# インストールされているrubyバージョンの一覧を確認しておきます
rbenv versions
# ログイン時に実行されるスクリプトでrbenvの初期化を行えるようにします
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
# そのスクリプトをロードします
source ~/.bash_profile 

rbenvで使用するrubyのバージョンを切り替えます

# バージョンの確認(デフォルトのrubyバージョンが出る)
ruby --version
# => ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]

# 2.6.3を(グローバルで)有効にする
rbenv global 2.6.3

ruby --version
# => ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]

Ruby on Rails

先ほど有効化したrubyのバージョンにおいて、gemを使ってRailsをインストールします。簡単です!たったこれだけ。

gem install rails -v 5.2.3

rails -v
# => Rails 5.2.3

(任意)PostgreSQL

PostgreSQLのインストール

PostgreSQLデータベースを使う場合はインストールします。(推奨。勉強目的などで特に使わない理由がなければ使いましょう!)

# まだインストールされていないことを確認します
postgres -V
# => -bash: postgres: command not found

# HomebrewでPostgreSQLをインストールします
brew install postgresql

postgres -V
# => postgres (PostgreSQL) 11.3

PostgreSQLのサービスを開始

ターミナルにこのように表示されている通り、サービスを開始する必要があります。2通りあります。

image.png

以下のどちらか一方を実行しましょう。

# サービスを開始し、次回からログイン時に自動起動にします(推奨。一手間減らしましょう)
brew services start postgresql

# 注意:上のコマンドだけでOK!

# または、今回だけ起動したい(次回は手動で起動したい)場合はこちらのコマンドを使います
pg_ctl -D /usr/local/var/postgres start

Railsを試す

Railsプロジェクトを作成

Railsプロジェクトを作成します。ここから分岐します。データベースや、テストフレークワークを指定します。

# railsプロジェクトフォルダを作りたいフォルダへ移動
cd ~/Desktop

以下のコマンドからいずれかを1つを選択し、test_rails または test_rails_api プロジェクトを作成します。

# 以下いずれか

# Rails+PostgreSQL+Minitest(選択に困ったらまずこれ)
rails new test_rails --database=postgresql

# Rails+SQLite+Minitest
rails new test_rails

# Rails+PostgreSQL+Minitestなし(RSpecなどを使う場合)
rails new test_rails --database=postgresql --skip-test

# Rails(APIのみ)+PostgreSQL+Minitest
rails new test_rails_api --database=postgresql --api

# Rails(APIのみ)+PostgreSQL+Minitestなし(RSpecなどを使う場合)※私はこの構成
rails new test_rails_api --database=postgresql --skip-test --api

そのほか、細かいオプション指定をしたい場合はhelpを読むのが手っ取り早いです。

rails --help

Railsサーバーを起動

作成されたフォルダへ移動して、railsサーバーを起動します。

cd test_rails
# または
cd test_rails_api

rails s

image.png

早速、アクセス http://localhost:3000/

データベースが存在しないため、 FATAL: database "[データベース名]" does not exist と表示されます。

image.png

真っ赤な画面でギョッとするかもしれませんが、心配ありません。

# いったんCtrl + Cでサーバーを止める(実際は止めなくてもOK)

# データベースを初期化
rails db:setup

# もう一度サーバーを起動
rails s

もう一度、アクセス http://localhost:3000/

image.png

トラブルシューティング

キャッシュなどが邪魔してエラーが出ている思われる場合はこちらのコマンドを実行します。同じ名前のプロジェクトを構成を変えて作ったり消したりを繰り返すと問題が生じることがあります。

spring stop
4
3
1

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
4
3