SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

サンプルコードで学ぶRuby on Rails 5実践入門

Rails 5の新機能概要紹介と環境構築

サンプルコードで学ぶRuby on Rails 5実践入門 第1回


  • X ポスト
  • このエントリーをはてなブックマークに追加

Rails 5の環境構築

 ここまでRails 5の新機能/変更点について概要を確認しました。その他にもさまざまな変更点がありますが、詳細は公式のリリースノートを参照してください。また、今回紹介しなかった変更点についても、次回以降、アプリケーションを実装していく中で紹介していく予定です。

 では、以降では、Rails 5の環境構築を行っていきます。

前提条件

  • MacBook Pro OS X Yosemite
  • Xcodeインストール済
  • OS X用パッケージマネージャHomebrew最新版をインストール済
  • 最新版でない場合はbrew updateしてください。
  • Gitをインストール済

環境構築手順概要

 以下の手順で環境構築を行います。本稿では、Ruby on Rails 5のインストールまでを行います。

  • rbenvインストール
  • Ruby 2.3.1インストール
  • PostgreSQLインストール
  • Bundlerインストール
  • Ruby on Rails 5インストール(本稿ではここまで)
  • Railsプロジェクトの作成
  • データベース作成
  • pumaサーバーの起動

rbenvインストール

 rbenvとは、同一環境内でRubyの複数のバージョンを管理するためのものです。Rubyはバージョンが違うと環境構築にいろいろはまりどころが多いので、システムワイドにRubyをインストールするのではなく、rbenvを使用してRubyのバージョンを管理することを強くおすすめします。

 Homebrewでrbenvとそのプラグインのruby-buildをインストールします。

$ brew install rbenv ruby-build
echo ‘export PATH="$HOME/.rbenv/bin:$PATH"’ > ~/.bash_profile
echo ‘if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi’ > ~/.bash_profile

 なお、ruby-buildはプラグインといってもRubyをインストールするために必要なrbenv installコマンドを提供するものです。rbenvとセットでインストールする必要があります。

 また、新しいRubyのバージョンをインストールしたい場合、ruby-buildのバージョンが古いと、インストール可能なパッケージがないとエラーが出ることがあります。

 この場合はruby-buildを最新にしてください。

Ruby 2.3.1のインストール

 記事執筆時点で最新の安定版であるRuby 2.3.1をインストールします。

 インストール対象のバージョンがあることを確認します。

$ rbenv install --list
Available versions:
  1.8.5-p113
(略)
  2.3.0
  2.3.1
  2.4.0-dev
  2.4.0-preview1
(略)

 ここでもし2.3.1が見当たらないようでしたら、前述の通り、ruby-buildが古い可能性があります。ruby-buildをアップデートしましょう。

 Ruby 2.3.1をインストールします。

$ rbenv install 2.3.1
Downloading ruby-2.3.1.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.bz2
Installing ruby-2.3.1...
Installed ruby-2.3.1 to /Path/To/User/.rbenv/versions/2.3.1

 インストールが完了していれば以下のコマンドで、該当OS上で使用可能なRubyのバージョンの中に2.3.1が入っていることが確認できます。

$ rbenv versions
* system (set by /Path/To/User/.rbenv/version)
  2.3.1

 あとで必要となるRailsアプリケーション用のディレクトリを作成し、そこで使用するRubyのバージョンを設定します。本稿では、プロジェクト名をrails5_sampleとしてすすめます。

$ mkdir rails5_sample

# 作成したプロジェクト用ディレクトリに移動します。
$ cd rails5_sample

# プロジェクトローカルでは動作するRubyのバージョンが2.3.1となるように設定します。
$ rbenv local 2.3.1

 実行の結果、バージョンが記載された.ruby-versionファイルが生成されます。

 Rubyのバージョンが2.3.1となっていることを確認します。

$ rbenv versions
  system (set by /Path/To/User/.rbenv/version)
* 2.3.1 (set by /Path/To/User/rails5_sample/.ruby-version)

 このように、アスタリスクが2.3.1についていれば2.3.1が選択されていることになります。

PostgreSQLインストール

 本稿では、RDBMSとしてPostgreSQLを使用します。

 HomebrewでPostgreSQLをインストールします。

$ brew install postgresql

 PostgreSQLを起動しておきます。

 ここでは、Homebrewのサービス管理機能を使用して起動します。

$ brew services start postgresql
==> Successfully started `postgresql` (label: homebrew.mxcl.postgresql)

 PostgreSQLクライアントのpsqlコマンドで接続可能なことを確認しておきます。

$ psql -l
                                List of databases
   Name    |  Owner  | Encoding |   Collate   |    Ctype    |  Access privileges
-----------+---------+----------+-------------+-------------+---------------------
 postgres  | username | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 |
 template0 | username | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/username         +
           |         |          |             |             | username=CTc/username
 template1 | username | UTF8     | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/username         +
           |         |          |             |             | username=CTc/username
(3 rows)

Bundlerインストール

 Railsの実践的な開発では、gemと呼ばれるサードパーティー製のライブラリをよく使用します。RubyGemsはライブラリを管理するための仕組みで、gemコマンドとして提供されています(ubuntuでいうところのapt-getのようなもの)。

 gemは前述のRuby同様、システムワイドにインストールすることも可能ですが、同一システム内で別のバージョンのgemを使用するといったケースに対応することが難しくなります。

 Bundlerは、この課題解決のためにあるgemパッケージを管理するためのライブラリです。Bundlerもgemパッケージとして提供されているため、Bundlerのみgemコマンドでインストールします。

$ gem install bundler

 記事執筆時点では1.12.5がインストールされました。

 Railsもまた、gemパッケージとして提供されているため、RailsもBundler経由でインストールします。Railsインストールについて解説しているWebサイトの中には、Railsをシステムワイドにインストールしている例が散見されます。この場合、Railsのバージョンを変更したい場合など面倒になる可能性があるので、注意が必要です。

Rails 5インストール

 いよいよRails 5のインストールです。

 作成したプロジェクト用ディレクトリに移動します。

$ cd rails5_sample

# Bundlerの初期化を行います。
$ bundler init
Writing new Gemfile to /Path/To/User/rails5_sample/Gemfile

 上記の通り、コマンドの結果、直下にGemfileが生成されます。デフォルトで生成されたGemfileではrailsの行がコメントアウトされているので、以下のようにコメントアウトを外します。

リスト1 Gemfile
# frozen_string_literal: true
# A sample Gemfile
source "https://rubygems.org"

gem "rails"

 BundlerによりRailsをインストールします。

 ここでは、オプションに--pathを指定しています。こうするとvendor/bundle配下にプロジェクトで使用するgemパッケージ群がインストールされます。一般的にRailsプロジェクトではvendor/bundle配下を指定します。

 また、--jobsオプションを用いて、gemインストールを並列して行う数を指定できます。ここでは4並列を指定しています。

 なお、bundle installコマンドを実行すると.bundle/configファイルが生成されます。

リスト2 .bundle/config
BUNDLE_PATH: vendor/bundle
BUNDLE_JOBS: 4
BUNDLE_DISABLE_SHARED_GEMS: true

 上記の通り、オプション指定が記録されているので、以降新しいgemを追加でインストールしたい場合はオプションを省略できます。

 実際に実行すると以下の通りです。

$ bundle install --path vendor/bundle --jobs 4

 プロジェクトローカル(vendor/bundle配下)にインストールされたRailsコマンドを使用するには、Bundlerを通じて呼び出す必要があります。たとえば、インストールされたRailsのバージョンを確認するには以下の通りです。

$ bundle exec rails -v
Rails 5.0.0.1

 記事執筆時点では、セキュリティパッチがあてられ、2016年8月11日にリリースされた5.0.0.1が最新のバージョンです。

まとめ

 本稿では、Railsの最新バージョンであるRails 5の目玉となる新機能や変更点について紹介し、Rails 5の開発環境を構築しました。

 本連載では、Rails 5の新機能を利用したサンプルアプリケーションの実装を通じて新機能への理解を深めていきます。次回は、Railsプロジェクトとデータベースを作成しRails 5のWebサーバーを起動します。また、Railsのジェネレーターの1つであるscaffoldを使い、Railsの基本を再確認しつつ、変更点を解説します。

参考文献

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
サンプルコードで学ぶRuby on Rails 5実践入門連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト 竹馬 力(チクバ ツトム)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9743 2017/08/04 13:19

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング