Help us understand the problem. What is going on with this article?

新規Railsプロジェクトの作成手順まとめ

More than 1 year has passed since last update.

rails new するときにいつも手順を忘れてしまい、
いろいろなサイトや記事を見ることになるので、自分用のメモとしてまとめておきます。

1. Gemfileを生成してvendor/bundle以下にRailsをインストールする

まずはRailsプロジェクトを作成します。

Rails Tutorialや入門書では

$ gem install rails
$ rails new project-app

と書かれていますが、これではシステムのgemにインストールされてしまいます。システムのgemはできるだけクリーンに保ち、gemはvendor/bundleに入れてbundle execで呼び出すようにするのが良いそう。

ですので、先にディレクトリを作成し、vendor/bundleにrailsをインストールします。

$ mkdir test-app
$ cd test-app
$ bundle init
Writing new Gemfile to /path/to/project_name/Gemfile

生成されたGemfileを下記のように編集します。(railsのコメントを外すだけ)

Gemfile
# 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

この時に--path vendor/bundleを忘れずにつけること。
このオプションを付けることによって、プロジェクトのvendor/bundle以下にgemが格納されます。(一度オプションをつけてbundle installしたら、次回以降はオプションを付けなくてもvendor/bundle以下に格納されるようになります)

2. Railsプロジェクトを生成する

準備が整ったのでRailsプロジェクトを生成します。

$ bundle exec rails new . -B -d mysql --skip-turbolinks --skip-test

Rails Tutorialなどでは $ rails new test-app のようにプロジェクト名を指定していますが、ここを.(ドット)にすると現在のディレクトリにRailsプロジェクトが生成されます。

使用しているオプションは以下の通りです。

オプション 効果
-d, --database=DATABASE 指定したデータベースに変更する(railsのデフォルトのDBはsqlite3)
--skip-turbolinks turbolinksをオフにする 
--skip-test railsのデフォルトのminitestというテストを使わない時に付ける。RSpecなどほかのテストフレームワークを利用したい時に使うと良い
ーB, --skip-bundle Railsプロジェクト作成時にbundle installを行わないようにする

ほかにも様々なオプションがあるのですが割愛します。コマンドがわからなくなった時や使えるオプションを調べたい時は $ rails new -h を実行してみましょう。ヘルプが表示され、使用できるオプションが確認できます。

Railsのインストール実行時にGemfileを上書きしていいか聞かれますが、yesにして続行します。

3. 必要なgemをインストールしてmasterにpush

Railsプロジェクトが生成できたら、Gemfileを編集して必要なgemをインストールしましょう。

Gemfileを編集したらbundle installを実行したら、gitの管理下に置いてgithubに公開します。
このとき、.gitignoreを編集しておくこと。私は https://www.gitignore.io/ でRails用に生成してくれる.gitignoreファイルをそのまま使っています。

$ git init
$ git add .
$ git commit -m "first commit"
$ git remote add origin https://github.com/username/hoge.git
$ git push -u origin master

これでWebアプリを作る土台ができました!

参考にしたサイトや記事

yuitnnn
フロントエンドエンジニア→ディレクター
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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした