この記事の目的
Ruby on Railsを使ったアプリケーションの開発の経験がある方であれば、一度はRailsチュートリアルを読んだことがある人が多いのではないでしょうか。RailsチュートリアルはRailsの入門記事としては、内容が非常に充実しているため高く評価されており、私もRailsチュートリアルを読み、Webアプリケーション開発における基礎を学びました。
しかしながら、いざ、自分でアプリケーションを作ろうと思うと、Railsチュートリアルには載っていないけれども、Railsで開発をするならば知っておきたかったなあ、と思うような知識がたくさん出てきました。
例えば、Railsチュートリアルではテストのためにminitestを使っておりますが、実際の開発ではRSpecを使うことが主流になっており、いざ開発を始めてみると、ギャップを感じた方もいるのではないでしょうか。
この記事では、Railsチュートリアルを一通り終えたぐらいの知識を持った方を対象として、チュートリアルから実際の開発の間にある、知識のギャップを埋められるような情報をお伝えできればと考えています。もちろんRailsチュートリアルを読んだことがないかたでも読み進められるように、初歩的な知識から埋めていきますので、安心してください!
今回は、Railsプロジェクトを始めるために実行する「rails new」コマンドについて、Railsチュートリアルには載っていないけれども、是非実践してほしいおすすめの手順を書いていきます。
動作環境
当然ながらRubyがインストールされていることが前提です。以下のコマンドで、Rubyのバージョンが表示されれば、大丈夫でしょう。私はrbenvを使っていますが、今回の記事ではバージョン管理ツールは特に影響ないかと思います。また、OSはMacOSを使用しております。
$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.12.5
BuildVersion: 16F73
作業手順
-
- Bundlerをインストールする
-
- プロジェクトフォルダを作り、BundlerでGemfileを作る
-
- GemfileでRailsのバージョンを指定し、Bundlerでgemのインストール
-
- rails newを実行
-
- gitignoreファイルの編集
1. Bundlerをインストールする
まずはBundlerをインストールしましょう。
Railsの開発を進めていく上で、必要なgemのインストールや実行は、基本的にBundlerを使って実行することになりますので、必ずインストールしましょう。
すでにインストールされている方も多いかと思いますので、以下のコマンドを打ってバージョン情報が返ってくれば、インストールは必要ありません。
$ bundler -v
Bundler version 1.14.6
まだインストールしてない方は以下のコマンドでインストールを行いましょう。
$ gem install bundler
2. プロジェクトフォルダを作り、BundlerでGemfileを作る
bundlerがインストールできたら、開発を行うプロジェクトフォルダを作りましょう。
今回は「sample-app」という名前にします。フォルダを作り、cdコマンドでそのフォルダへ移動します。
$ mkdir sample-app
$ cd sample-app
フォルダを作ったら、bundlerを使ってGemfileを作りましょう。これもコマンド一発で大丈夫です。
$ bundle init
3. GemfileでRailsのバージョンを指定し、Bundlerでインストール
bundle init を実行してできたGemfileを編集して、インストールするRailsのバージョンを指定しておきましょう。今回はバージョン5.1.1を指定します。
# frozen_string_literal: true
source "https://rubygems.org"
gem "rails", "5.1.1"
Gemfileを編集したら、Bundlerを使ってRailsをインストールしましょう。
$ bundle install --path vendor/bundle
ここで注意すべき点は、オプションで--path vendor/bundle
を指定することです。こうすることで、プロジェクトフォルダ内にvendor/bundleというフォルダが作られ、以降はこのプロジェクト内で使うgemがそのフォルダ内にインストールされるようになります。
こうすることで、別のプロジェクトの開発環境などを汚すことなく、インストールができますので、必ずこのオプションを指定するようにしましょう!
一度オプションを指定すれば、次回以降bundle install
を実行した際に、vendor/bundleのディレクトリにインストールされますので、このオプションを使うのは最初の1回のみで大丈夫です。
インストールが完了したら、念のため、以下のコマンドでRailsのバージョンを確認しておきましょう。
Bundlerを使ってインストールしたgemはbundle exec
をつけて実行することで、vendor/bundleのディレクトリ内のgemを実行することができます。今後、railsコマンドを実行するときは、bundle exec rails
と打つことで実行することができます。
$ bundle exec rails -v
Rails 5.1.1
4. rails newを実行
さて、いよいよrails new
を実行する準備が整いました!Bundlerを使ってrails new
を実行しましょう。
$ bundle exec rails new .
ここで注意すべき点は、オプションでカレントディレクトリを示す「.」を指定することを忘れないようにしましょう。
途中でGemfileを上書きしても良いか、聞かれるかもしれませんが、Yを入力して続けましょう。
コマンドが完了したらbundle exec rails s
でサーバーを立ち上げてみましょう。http://localhost:3000 にアクセスして、「Yay! You’re on Rails!」のメッセージが表示されていれば、OKです!
5. gitignoreファイルの編集
さて、最後に.gitignoreを編集しておきましょう。
Bundler経由でインストールしたgemはvendor/bundleにインストールされることは、前述したとおりですが、このディレクトリをgit の管理下に入れてしまうと、リポジトリが肥大化してしまいますので、gitでの管理から必ず外すようにしましょう。
以下のように.gitignoreに追記しておきます。
/vendor/bundle
以上でRailsで開発する環境は整いました!