Rails
環境構築
bundler
rbenv
elcapitan

【Mac】初心者向けRuby on Rails環境構築ガイド【El Capitan対応】

More than 3 years have passed since last update.


概要

初心者向けのRuby on Rails環境構築ガイドです。

「システム全体への影響を少なく」「チーム開発しやすく」をモットーに環境構築を目指します。

※プログラマとして現場で環境構築するために必要な考え方です。

手段としてrbenvとruby-buildを用いて、Rubyの開発環境を構築し、

bundlerを用いてRuby on Railsの開発環境を構築するまでを解説します。

(それぞれの用語・アプリについてはこの後にきちんと解説いたします)

間違いのご指摘、ご意見・ご要望等ございましたらお気軽にコメントをください。

(2015/07/23発行、2015/10/21修正[El Capitan対応])


インストールするもの

今回インストールするものの一覧と解説です。

インストール方法は後ほど解説しております。


Homebrew

macのパッケージ管理システムの一つ。

mac用の各種プログラムを簡単にインストール・アップデート・アンインストールできる。

Homebrewを使用してrbenv, ruby-buildをインストールする。


rbenv

Rubyのバージョン管理システムの一つ。

様々なバージョンのRubyを簡単にダウンロードできる。

また、それぞれのプロジェクトに使用するRubyのバージョンを定義できる。

(全体ではRuby2.3.0を使用するが、プロジェクトAではRuby2.2.4を使用する等)

一昔前はRVMがメジャーだったが、今ではほとんどの人がrbenvを使用している。

※プロジェクト => アプリケーションと考えて下さい


ruby-build

rbenvと組み合わせて使用する。

指定されたrubyのバージョンをインストール(ビルド)するプログラム。

このプログラムが無いと後述する「rbenv install」コマンドが使用できない。


bundler (gem)

gem管理システム。

それぞれのプロジェクトで使用するgemのバージョンや、

gem同士の依存関係を簡単に管理できる。

また、チーム開発をする際に開発者それぞれのPCのgem環境を簡単に統一できる。

※ gem => Rubyの機能を拡張するプログラム群のこと(ライブラリ・パッケージ)


rails (gem)

今回の目的であるRuby on Railsというフレームワークを実装するgem。

こちらのインストールまで辿り着けば環境設定完了です。


0. インストールの準備

「アプリケーション > ユーティリティ」からターミナル.appを開いてください。

以降、コマンドラインツール上でインストールを進めていきます。

※ 同等以上の機能を提供するiTerm2の使用も良いと思います(https://www.iterm2.com/)


1. Homebrewのインストール

Homebrewホームページ

http://brew.sh/index_ja.html

上記ページのど真ん中に記載されているスクリプトを実行します。

(本家ページからのコピペをオススメします)

Xcode Command Line Toolsがインストールされていない場合インストールを求められます。

Homebrewのインストールに必要なので画面に従ってインストールしてください。

インストール後にreturnキーを押してくださいとメッセージが出ているので、

ターミナルへ戻りreturnキーを押してインストールを続行しましょう。

(Xcodeというソフトのインストールでも大丈夫です[App Storeからインストールできます])

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

※ 最初の$はコマンドライン上のコマンドということを表しています。コピペする際は取り除いてください

※ rubyコマンドを使用していますがmacには標準で旧バージョンのRubyがインストールされているので使用できます

インストールが済んだら、インストール済みであることを確認するために、

Homebrewの状態を確認するコマンドである「brew doctor」を実行してみましょう。

$ brew doctor

Your system is ready to brew.

上記の様に表示されれば正常にインストールされています。


2. rbenvのインストール

先ほどインストールしたHomebrewを使用してrbenvをインストールします。

「brew install プログラム名」の様にインストールしたいプログラム名を指定して実行します。

rbenvをインストールするために下記コマンドを実行します。

$ brew install rbenv

※追記(2015/10/21)

El Capitanではrootlessというセキュリティシステムが導入されたため、

上記コマンドを実行する前に下記コマンドも実行する必要があるようです。

(インストールに必要なディレクトリを作成するコマンド)

$ mkdir -p ~/.rbenv/plugins

インストールが済んだら、インストール済みであることを確認するために、

rbenvのバージョンを確認するコマンドである「rbenv -v」を実行してみましょう。

$ rbenv -v

rbenv 0.4.0

上記の様にrbenvのバージョンが表示されれば正常にインストールされています。

(参考) 公式ページ

GitHub - rbenv

https://github.com/sstephenson/rbenv#readme


3. ruby-buildのインストール

最近ではrbenvと同時にインストールされるようです。

already installedと出た場合は2.の作業でインストールされているので

3.の手順は必要ありません。

インストールする際はrbenvと同様に下記コマンドを実行してください。

$ brew install ruby-build

インストールが済んだら、インストール済みであることを確認するために、

ruby-buildのバージョンとコマンド一覧を確認するコマンドである「ruby-build --help」を実行してみましょう。

$ ruby-build --help

ruby-build 20150719

Usage: ruby-build [-kvp] <definition> <prefix>
ruby-build --definitions

-k/--keep Do not remove source tree after installation
-v/--verbose Verbose mode: print compilation status to stdout
-p/--patch Apply a patch from stdin before building
-4/--ipv4 Resolve names to IPv4 addresses only
-6/--ipv6 Resolve names to IPv6 addresses only
--definitions List all built-in definitions

上記の様にバージョンとコマンド一覧が表示されれば正常にインストールされています。

(参考) 公式ページ

GitHub - ruby-build

https://github.com/sstephenson/ruby-build#readme


4. 最新のRubyをインストール

まず、rbenvからインストール可能なRubyのバージョンを確認します。

インストール可能なバージョン一覧を表示する「rbenv install -l」コマンドを使用します。

$ rbenv install -l

Available versions:
1.8.6-p383
1.8.6-p420
1.8.7-p249
(中略)
2.2.0-dev
2.2.0-preview1
2.2.0-preview2
2.2.0-rc1
2.2.0
2.2.1
2.2.2
2.2.3
2.3.0-dev
jruby-1.5.6
(以下略)

インストール可能なバージョン一覧が表示されました。

devが付いているものは安定版では無いので、最新の安定版である2.2.3をインストールします。

インストールには「rbenv install バージョン名」のコマンドを使用します。

$ rbenv install 2.2.3

Downloading ruby-2.2.3.tar.gz...
-> http://dqw8nmjcqpjn7.cloudfront.net/5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44
Installing ruby-2.2.3...
Installed ruby-2.2.3 to /Users/ユーザ名/.rbenv/versions/2.2.3

表示されている通り/Users/ユーザ名/.rbenv/versions/2.2.3にファイルが配置されインストールされました。

インストールした最新のRubyを、システムで使用するデフォルトのRubyのバージョンとして指定します。

デフォルトで使用するRubyのバージョンを指定するには「rbenv global バージョン名」のコマンドを使用します。

$ rbenv global 2.2.3

特に実行結果は表記されませんが、現在のRubyのバージョンを確認することで、

きちんとバージョンが反映されているかを確認します。

現在のRubyのバージョンは「ruby -v」コマンドで確認できます。

$ ruby -v

ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin15]

globalに指定したRubyのバージョンが確認できればインストールは完了です。

※追記(2015/10/21)

El Capitanでは(通常の場合も?)ターミナルへrbenvを使用するための設定が必要なようです。

これをしない場合rbenv globalコマンドで行う設定がうまく反映されませんでした。

(macに元々入っていた2.0.0のバージョンが表示されてしまう)

その場合、おまじないと考えてここで下記コマンドを実行しましょう。

$ touch ~/.bash_profile

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

また、この設定が完了したらターミナルを再起動して再度ruby -vを試してみましょう。


5. bundlerのインストール

bundlerはgemの管理システムですが、bundler自体もgemの一種です。

macに最初からインストールされているRubyGemsの「gem install gem名」コマンドを使用します。

RubyGems => gemをインストールするためのアプリケーション(ただしシステム全体に影響してしまう)

bundler => プロジェクトごとに使用するgemやgemのバージョンを設定できる(システム全体に影響しない)

※追記(2015/10/21)

El Capitanではsudoを頭につける必要があります(管理者権限で実行するためのコマンド)

sudoをつけると現在のアカウントのpasswordを求められます。

セキュリティのためpasswordを入力しても画面には反映されませんがきちんと入力されています。

※英語のメッセージは「sudoは強い権限のコマンドなので気をつけてね」というものです(意訳)

$ sudo gem install bundler

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:
Fetching: bundler-1.10.5.gem (100%)
Successfully installed bundler-1.10.5
1 gem installed

Successfully installedと表示されているのでbundlerのインストールに成功しています。

gemをインストールした後は、おまじないとして「rbenv rehash」コマンドを実行しましょう。

$ rbenv rehash

こちらは最新のgemの構成を反映させるためのコマンドだと考えてください。

詳しくは解説しきれない(理解しきれていない)ので、各自調べてみてください。


6. ワークスペース用フォルダを作成

Railsのインストールに向けてプログラミングのワークスペース用フォルダを作成します。

(ワークスペース配下にそれぞれのアプリケーション用フォルダを作成することを想定しています)

ホームディレクトリ直下に「rails-workspace」というフォルダを作成したいと思います。

今回はLinuxコマンドにてフォルダを作成し、そのフォルダへ移動します。

※ ホームディレクトリ => 「書類」や「ピクチャ」などのあるフォルダ

$ mkdir ~/rails-workspace

$ cd ~/rails-workspace

Linuxコマンドについては各自でお調べください。(ここでは解説しきれません)

mkdirはフォルダを作成するコマンド、cdはそのフォルダに移動するコマンドだとお考えください。

今回はワークスペースのフォルダを作成、そこに移動しています。

フォルダはFinderにて作成しても構いませんが、

必ずcdコマンドを実行してワークスペースへの移動をしてください。

※ pwdというコマンドを実行すると今自分のいる場所がわかるので便利です。


7. Railsのインストール

まず、ワークスペース用フォルダにいる状態でbundlerを使用できる様に初期化を行います。

初期化を行うには「bundle init」コマンドを実行します。

ワークスペースにいる状態で行ってください。

$ bundle init

Writing new Gemfile to /Users/ユーザ名/rails-workspace/Gemfile

実行後にFinderにてワークスペースを見てみるとGemfileというファイルが作成されています。

使用するgemをこのGemfileに記述することによって、使用するgemをインストールできるようになります。

Gemfileをテキストエディタで開いてみると、

# gem "rails"

という一行があるかと思います。

「# 」でコメントアウトされており、このままではrailsというgemがインストールされません。

「# 」を削除し、上書きしてください。下記の様なファイルになるはずです。

# A sample Gemfile

source "https://rubygems.org"

gem "rails"

今回はこのまま記述してください。

gemのバージョンを指定する記述等については各自でお調べください。

バージョンを指定しない場合、最新バージョンのgemがインストールされます。

変更が終わったら、bundlerを実行し、いよいよrailsのインストールです。

Gemfileの内容のgemをインストールするには「bundle install --path vendor/bundle」コマンドを実行してください。

「bundle install」でgemをインストールした場合は「rbenv rehash」は要りません。

$ bundle install --path vendor/bundle

Fetching gem metadata from https://rubygems.org/.........
Fetching version metadata from https://rubygems.org/..
Installing rake 10.4.2
Installing i18n 0.7.0
with native extensions Installing json 1.8.3
Installing minitest 5.7.0
Installing thread_safe 0.3.5
Installing tzinfo 1.2.2
(中略)
Installing sprockets 3.2.0
Installing sprockets-rails 2.3.2
Installing rails 4.2.3
Bundle complete! 1 Gemfile dependency, 33 gems now installed.
Bundled gems are installed into ./vendor/bundle.

railsと依存関係にある様々なgemがインストールされました。

また、全体への影響を少なくするために「--path vendor/bundle」というオプションを指定し、

gemをプロジェクト用フォルダ内にダウンロードする様に指定しています。

ワークスペース内にvenderというフォルダが作成されており、

その中のbundleというフォルダ内に様々なgemが入っているはずです。

この設定により、ワークスペースを削除すればgemも全て削除することができますし、

ワークスペースを移動したい場合もフォルダごとコピーすればプロジェクトに影響が出ません。


いざRuby on Railsの世界へ

以上でRuby on Railsの環境構築は完了です。お疲れさまでした!

まずはrailsのバージョンを確認し、正しくインストールされていることを確認しましょう!

railsのバージョンを確認するには「rails -v」コマンドです!

なのですが、bundleで指定した場所に保存されているgemを使用するには

頭に「bundle exec」というコマンドをつけて実行しましょう!

$ bundle exec rails -v

Rails 4.2.3

無事railsがインストールされています。

では、早速記念すべき最初のプロジェクトを作成してみましょう!

「rails new プロジェクト名」コマンドです!

今回は「rails-project」というプロジェクトを作成してみます。

こちらも忘れずに「bundle exec」を付けましょう!

$ bundle exec rails new rails-project

create
create README.rdoc
create Rakefile
create config.ru
(中略)
create vendor/assets/javascripts/.keep
create vendor/assets/stylesheets
create vendor/assets/stylesheets/.keep
run bundle install
Fetching gem metadata from https://rubygems.org/............
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies....
Using rake 10.4.2
Using i18n 0.7.0
Using json 1.8.3
(中略)
Using turbolinks 2.5.3
Using uglifier 2.7.1
Using web-console 2.2.1
Bundle complete! 12 Gemfile dependencies, 54 gems now installed.
Use `bundle show [gemname]` to see where a bundled gem is installed.
run bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted

Railsプロジェクトのひな型が作成され、

無事プログラミングの準備ができました!

rails-projectフォルダ内にRailsプロジェクトの様々な基礎ファイルが作成されているはずです。

ここからはそれぞれがプログラミングをすることになります。

Ruby on Railsのプログラミングについては様々な書籍が出ているので、

それぞれに合った書籍にて勉強を進めましょう!

インターネット上では「Railsチュートリアル」という実戦形式でWebアプリケーションの作成法を学ぶサイトがオススメです!

http://railstutorial.jp/