Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Rails プロジェクト作成手順

More than 1 year has passed since last update.

今までCloud9を使ってRails開発をちょこちょこしていました。
今回は、イチからやってみようということでCloud9を使わずにプロジェクト作成をすることにしました。

①Homebrewのインストール

Macユーザー限定ですが、まずはHomebrewのインストールを行います。
公式に書いてある通りにスクリプトを実行すれば、問題ないはずです。

バージョンが表示されれば、うまくインストールされています。

$ brew -v
Homebrew 2.2.6

②rbenvのインストール

Rubyのバージョン管理ができるようにrbenvのインストールを行います。

$ brew install rbenv ruby-build

次にパスを通します。
なぜかというと、MacデフォルトのRubyを使わずにrbenvでインストールしたRubyを使用するためです。

MacデフォルトのRubyは、/usr/binというところに入っているのですが、rbenvでインストールしたRubyは、/Users/ユーザー名/.rbenv/shims/に入ります。

そのため、ターミナルからRubyを実行するときに、rbenvの中のRubyでRubyを実行するように切り替えをする必要があります。

$ echo 'export PATH="~/.rbenv/shims:/usr/local/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile  //.bash_profileを読み込む

eval “$(rbenv init -)”.bash_profileファイルに書いて読み込みすることによって、Macにログインしたら、Rubyコマンドを実行するときはrbenv内のRubyを実行するように設定しておくができます。

➂Rubyのインストール

ここでようやくRubyのインストールを行います。
まずは、インストール可能なバージョンを確認します。

$ rbenv install --list

今回は、2.7.0をインストールします。

$ rbenv install 2.7.0
  // 環境全体の有効なバージョンを2.7.0にする
$ rbenv global 2.7.0
$ rbenv rehash
$ ruby -v

④Bundlerのインストール

次に、Bundlerのインストールをします。
Bundlerとは、gemの依存関係とバージョンを管理するためのツールです。
Bundlerを使うと、依存関係のあるgemを一括でインストールしてくれます。
一括でインストールしたgemはすべて、依存関係が解決された状態で、インストールされます。

$ gem install bundler
$ bundle -v

⑤Railsプロジェクトの作成

ここで、プロジェクトを作成します。
作成したプロジェクトの中で、bundle initを行います。

$ mkdir ~/testApp
$ cd ~/testApp
$ bundle init

成功すれば、Gemfileが作られているはずです。
Gemfileとは、インストールしたいgemを列挙するものです。
ただ、このままだと使えないので、Gemfileを編集する必要があります。

GemFile
# frozen_string_literal: true

source "https://rubygems.org"

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

gem "rails"  ←コメントアウトを外す

システムのgemはできるだけクリーンに保ち、gemはvendor/bundleに入れてbundle execで呼び出すのがいいそうなのでそうします。

$ bundle install --path=vendor/bundle
$ bundle exec rails -v
Rails 6.0.2.1

--path vendor/bundleオプションを付けることで、プロジェクトのvendor/bundle以下にgemが格納されます。
次回以降はオプションを付けなくてもvendor/bundle以下に格納されるはずです。

プロジェクト別にgemをインストールすると、プロジェクトごとのgemのバージョンの違いを気にすることがなくなります。

最後に、Railsプロジェクトを作成します。

$ bundle exec rails new . -B --skip-test

.を付けると現在のディレクトリに作成されます。

少しだけオプションの説明をすると、-BはRailsプロジェクト作成時にbundle installを行わないようにします。
また、--skip-testはデフォルトのminitestというテストを使わない時に付ける。他のテストフレームワークを利用したい時に使うといいです。
他のオプションはドキュメントを参考にするといいと思います。

プロジェクトにいる状態で、下記コマンドを実行して、http://localhost:3000/ へアクセスします。(サーバー起動)

$ rails server

Railsの画面が表示されれば、成功です。

スクリーンショット 2020-02-23 11.54.27.png

Cloud9はそこまで意識せずにプロジェクトが作れちゃうので、楽ですね!
ただ、環境構築で何が行われるのかを知るという意味ではやってみるのもいいかもしれません。
また、実際の開発現場でCloud9を使ってというのはあんまりないと思うので、できた方がいい気がします。

補足

Rails6からWebpackerがデフォルトでインストールされます。
なので、Webpackeryarnをインストールしないとサーバー起動時に失敗する場合があります。
その場合は、インストールしましょう。

// yarnを先にインストールしないとwebpackerをインストールできない
$ brew install yarn

$ rails webpacker:install

参照

Ruby初学者のRuby On Rails 環境構築【Mac】
Rails6 Webpackerでエラーが出た

kumas
少し前までサーバーサイド、今はモバイルやフロントの開発を主にしています。 個人的にkotlinやSwiftを使ってアプリを作っています。Railsもさわってます。 インフラとかそこらへんも勉強中 学んだこと、困ったことはアウトプットしていきたいです!
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away