こんにちは、Nanayakuです。
今回は、Railsプロジェクトの作成で使うコマンドを紹介します。
目次
rails newとは
アプリケーションの雛形を作成します。
基本的なコマンドの書き方は
rails new アプリケーション名
になります。
「blog」と言うアプリケーションを作ろうとすると
rails new blog
となります。
作成される主要なディレクトリ・ファイル
app/ | model・view・controllerなどを含む主要なディレクトリ |
bin/ | アプリケーションの起動/アップデート/デプロイをするためのスクリプトファイル |
config/ | ルーティング、データベースなどのアプリケーションの設定ファイル |
db/ | 現時点のデータベーススキーマ・データベースマイグレーションファイル |
lib/ | 拡張モジュール |
log/ | ログファイル |
test/ | Unitテスト、フィクスチャなどのテスト用コード |
tmp/ | キャッシュなどの一時ファイル |
.gitignore | Gitの管理下に置かないファイルを指定 |
.ruby-version | デフォルトのRubyバージョンを指定 |
Gemfile Gemfile.lock |
Gemの定義ファイルとGemのバージョンを確認するファイル |
参考
rails newオプション
rails newにはオプションをつけることが出来ます。
オプションはアプリケーション名の後ろにつけます。
-d
「-d」はデータベースを変更したい時に使います。
rails newのデータベースはsqlite3がデフォルトになっています。
mysqlに変更したい場合は
rails new blog -d mysql
となります。
-T
「-T」はテストを作成させないコマンドです。
railsには、デフォルトでminitestと言うテストを使用しています。
このコマンドを実行しておく事で、rspecなどのテストフレームワークの導入が簡単になります。
-G
「-G」はgitignoreを作成させないコマンドです。
gitignoreを自分で作成したい時に使います。
gitignoreは、gitの管理下に置きたくないファイルを設定できる機能です。
-f
「-f」は、すでに存在するファイルを上書きして、もう1度やり直したい時に使います。
-h
「rails new -h」と打つことで、どのようなオプションがあるか確認することが出来ます。
画像のように表示されます。
rails db:create
「rails db:」はデータベースを操作するコマンドで、「rails db:create」はデータベースを作成するコマンドです。
create以外にも「drop」はデータベースを削除、「migrate」はマイグレーションを実行する時に使います。
Bundler
Bundlerは、railsアプリケーションに必要なGemパッケージの種類やバージョンの種類を管理してくれます。
これにより複数のPCで必要なGemパッケージをインストールしてくれる仕組みが出来ます。
bundle install
「bundle install」は、Gemfileと言うファイルに記載されたGemパッケージと、それを動かすのに必要なGemパッケージをインストールするコマンドです。
しかし、Gemのパッケージのインストールはrails newを続行した時に自動で行なっています。
rails newが実行された時にの流れは以下の通りです。
- 必要なファイルの作成
- 必要なGemパッケージが記載されたGemfileの作成
- Gemfileに基づいたGemパッケージのインストール(bundle install)
- 他の環境で使用するためのGemfile.lockの作成
rails newのオプションで「--skip-bundle」があり、これは上記にある「bundle install」を行わないオプションです。
rails new アプリケーション名 --skip-bundleと実行した場合は、ディレクトリ作成後「bundle install」をしなければなりません。
bundle installを使う流れは、
- gemfileにGemを追記する
- bundle installで追記したGemをインストールする
Gemを追加する場合は、この2ステップがセットになっています。
最後に
備忘録がわりに作ったので、間違っている所とかあったら、コメントくれると嬉しいです。