1. yuitnnn

    Posted

    yuitnnn
Changes in title
+新規Railsプロジェクトの作成手順まとめ
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,79 @@
+`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のコメントを外すだけ)
+
+```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` を実行してみましょう。ヘルプが表示され、使用できるオプションが確認できます。
+
+## 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アプリを作る土台ができました!
+
+## 参考にしたサイトや記事
+* [Ruby on Rails チュートリアル](https://railstutorial.jp/)
+* [Railsドキュメント](http://railsdoc.com/rails)
+* [rails new 手順書](https://qiita.com/youcune/items/312178c54c65f3ab4d42)