親バカエンジニアのナレッジ帳

webのエンジニアをやっており、日頃の開発で詰まったことや書き残しておきたいことを載せています。

MacでRailsを10分で起動!爆速セットアップ!

環境構築も爆速に!

開発効率に定評のあるRailsですが、環境構築も爆速にできてしまう点に特徴があります。
今回はMacでの説明になりますが、一気にやってしまいましょう!

インストールでは、Rubyのバージョンを管理するためにrbenvと、rbenvのプラグインでrbenvコマンドを利用できるようにするためのruby-buildを使います。

このあたりの説明はちょっと前の記事になりますが、以下に書いてあります。
ti-tomo-knowledge.hatenablog.com

ただ今回はまた上記の記事と内容は被ってしまうこともありますが、最初から説明していきます。

色々な用語が出てきますが、簡単に以下の流れと思ってください。
ほんとにざっくりです。
Homebrewの説明は。。。この手順を行う人には説明不要ですよね。ここは飛ばします。

Homebrewを使ってrbenv(rubyのバージョンを管理)とruby-build(rubyをインストールするプラグイン)をインストール

rbenvとruby-buildでrubyをインストール(gemも使えるように)

gemでbundlerをインストール

bundlerを使ってRailsをインストール

といった流れになります。
では進めていきましょう。

構築手順

Homebrewのインストールは以下参考に(まだない人)
macOS(またはLinux)用パッケージマネージャー — Homebrew

rbenvとruby-buildをインストール

brew install rbenv ruby-build

初めてのセットアップでは、ここでバージョンの確認をするとsystemと出てきます。
Mac購入時のデフォルトのバージョンですね。

rbenv versions

インストールできるrubyの一覧を確認

rbenv install --list

今回はこの手順実施時に最新の「2.6.3」をインストール(結構時間かかります)し、バージョンを切り替えます。

rbenv install 2.6.3
rbenv global 2.6.3

バージョンを確認しましょう。

rbenv versions

以下のようになればOKです。

  system
* 2.6.3 (set by /XXXXXXXXX/.rbenv/version)

ここでrubyとgemのバージョンを確認すると、

ruby -v
ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]
gem -v
2.5.2

rubyは2.3.3でgemが2.5.2と、バージョンが古いです。

以下を実行してbash_profileにrbenvのパスを通してください。

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

bash_profileを反映

source ~/.bash_profile

これで再度バージョンを確認すると、

ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin17]
gem -v
3.0.3

rubyは2.6.3でgemが3.0.3と、最新になりました!

bundlerのインストール

gem install bundler

Railsのインストール

必要なものは揃ったので、ここからはRailsのインストール作業になります。
まずはプロジェクトを作成するディレクトリに移動し、以下コマンドを実行してください。

bundle init

これでGemfileができており、このファイルを使えばプロジェクトごとにgem(ライブラリ)を管理できます。
Gemfileは以下のようになっており、

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

# gem "rails"

「gem "rails"」のコメントアウトを外してください。

# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "rails"

以下のコマンドでRailsがインストールできます。

bundle install --path=vendor/bundle

次にRailsのプロジェクトを作成します。

bundle exec rails new .

色々聞かれますが、全部yを押してください。

さあ、残すは起動のみ

bundle exec rails s

以下のように表示されればlocalhost:3000で起動されています。

=> Booting Puma
=> Rails 5.2.3 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.12.1 (ruby 2.6.3-p62), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop

railsコマンドのインストール

ところで、Railsではコマンドラインでrailsコマンドを多く使用するのですが、今のままでは毎回「bundle exec rails ここからコマンド」と打たなくてはいけなく、結構面倒です。
次からのコマンド入力を簡略化するためにもrailsコマンドを入れちゃいましょう。
まず今の状態で試しに「rails -v」と打ってみると、以下のようにgemでインストールせよ、とメッセージが出て来ます。

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

表示されているコマンドを実行してみましょう。

sudo gem install rails

すると以下のようにインストールが成功します。

Successfully installed rails-5.2.3
Parsing documentation for rails-5.2.3
Installing ri documentation for rails-5.2.3
Done installing documentation for rails after 0 seconds
1 gem installed

さあ、これで大丈夫だろうと再び「rails -v」と打ってみると。。。

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

あああああああ...、また同じメッセージが。
ここで結構ハマってしまう人がいるのですが、rbenvをrehashすれば問題解決です。

rbenv rehash

これで実行すると、

rails -v
Rails 5.2.3

無事解決!