【Rails / Mac】これだけ覚えればOK！Rails開発でよく使うコマンド集

# はじめに
こんにちは、エンジニア3年目の嶋田です。  
まずは、この記事を開いていただきありがとうございます！

Rails開発をしていると、ターミナルでの作業が不可欠になります。  
しかし、Rails特有のコマンドや、RubyやBundlerの管理に関するコマンドは多く、初めは混乱しがちです。  
そこで、今回は **「MacでRails開発をする際によく使うコマンド」** を整理してみました！  

この記事を読んで、Rails開発のターミナル操作をスムーズに進められるようになれば嬉しいです。

# 目次
- [Ruby関連コマンド](#ruby関連コマンド)
   - [`ruby` コマンド](#ruby-コマンド)
   - [`gem` コマンド（Gemの管理）](#gem-コマンド)
   - [`rbenv` コマンド（Rubyのバージョン管理）](#rbenv-コマンドrubyのバージョン管理)

- [Rails関連コマンド](#rails関連コマンド)
   - [Railsプロジェクトの作成](#railsプロジェクトの作成)
   - [サーバーの起動](#サーバーの起動)
   - [Railsコンソール](#railsコンソール)
   - [ジェネレータ（コード自動生成）](#ジェネレータコード自動生成)

- [データベース関連コマンド](#データベース関連コマンド)
   - [データベースの作成・削除・リセット](#データベースの作成削除リセット)
   - [データの管理](#データの管理)

- [Bundler関連コマンド](#bundler関連コマンド)

- [RSpec（テスト）関連コマンド](#rspecテスト関連コマンド)

- [その他の便利コマンド](#その他の便利コマンド)
   - [ログの確認](#ログの確認)
   - [キャッシュクリア](#キャッシュクリア)

- [さいごに](#さいごに)

---

# Ruby関連コマンド
まずは、Ruby環境を管理するための基本的なコマンドを紹介します。

### `ruby` コマンド
Rubyのバージョンを確認したり、スクリプトを実行するためのコマンドです。

| コマンド             | 説明                                    |
|----------------------|----------------------------------------|
| `ruby -v`           | インストールされているRubyのバージョンを確認 |
| `ruby ファイル名.rb` | 指定したRubyファイルを実行              |

### `gem` コマンド
Rubyのライブラリ（gem）を管理するためのコマンドです。

| コマンド              | 説明                                    |
|----------------------|----------------------------------------|
| `gem list`          | インストールされているgem一覧を表示       |
| `gem install gem名` | 指定したgemをインストール                 |
| `gem update`       | すべてのgemを最新バージョンに更新         |
| `gem uninstall gem名` | 指定したgemをアンインストール            |

### `rbenv` コマンド（Rubyのバージョン管理）
`rbenv` は、Rubyのバージョン管理ツールです。複数のバージョンを簡単に切り替えることができます。

| コマンド                   | 説明                                    |
|---------------------------|----------------------------------------|
| `rbenv install バージョン` | 指定したバージョンのRubyをインストール |
| `rbenv global バージョン`  | システム全体のRubyバージョンを設定     |
| `rbenv local バージョン`   | カレントディレクトリのRubyバージョンを設定 |
| `rbenv versions`         | インストール済みのRubyバージョン一覧を表示 |
| `rbenv rehash`           | バージョン変更後に実行（反映するため） |

---

# Rails関連コマンド
Railsプロジェクトの作成や管理、アプリの実行に関する基本的なコマンドを紹介します。

### Railsプロジェクトの作成
| コマンド                            | 説明                                    |
|-------------------------------------|----------------------------------------|
| `rails new プロジェクト名`         | 新しいRailsプロジェクトを作成           |
| `rails new . --database=postgresql` | PostgreSQLを指定してRailsプロジェクト作成 |

### サーバーの起動
| コマンド           | 説明                                    |
|-------------------|----------------------------------------|
| `rails s`        | Railsサーバー（Puma）を起動              |
| `rails s -b 0.0.0.0` | ローカルネットワーク上で接続可能にする |
| `rails s -p 3001` | 指定したポート（3001）で起動             |

### Railsコンソール
| コマンド  | 説明                                    |
|----------|----------------------------------------|
| `rails c` | Railsコンソール（irb）を開く             |

### ジェネレータ（コード自動生成）
| コマンド                               | 説明                                    |
|--------------------------------------|----------------------------------------|
| `rails g model モデル名 カラム名:型`  | モデルを作成（例: `rails g model User name:string age:integer`） |
| `rails g controller コントローラ名`  | コントローラを作成                     |
| `rails g scaffold モデル名`          | モデル・ビュー・コントローラ・ルーティングを一括生成 |

---

# データベース関連コマンド
Railsのデータベースを管理するための基本コマンドです。

### データベースの作成・削除・リセット
| コマンド                   | 説明                                    |
|---------------------------|----------------------------------------|
| `rails db:create`         | データベースを作成                     |
| `rails db:drop`           | データベースを削除                     |
| `rails db:migrate`        | マイグレーションを実行                 |
| `rails db:rollback`       | 直前のマイグレーションを取り消す         |
| `rails db:reset`          | データベースを削除し、再作成する         |

### データの管理
| コマンド                 | 説明                                    |
|-------------------------|----------------------------------------|
| `rails db:seed`        | `db/seeds.rb` に定義した初期データを投入 |
| `rails dbconsole`       | データベースに直接アクセス（SQL実行可能） |

---

# Bundler関連コマンド
Bundlerは、Railsで使うgemを管理するためのツールです。

| コマンド                  | 説明                                    |
|--------------------------|----------------------------------------|
| `bundle install`         | `Gemfile` に記載されているgemをインストール |
| `bundle update`          | すべてのgemを最新にアップデート         |
| `bundle exec コマンド`    | 指定したコマンドをGemfile環境で実行      |

---

# RSpec（テスト）関連コマンド
RSpecは、Railsでよく使われるテストフレームワークです。

| コマンド                  | 説明                                    |
|--------------------------|----------------------------------------|
| `rspec`                 | すべてのRSpecテストを実行               |
| `rspec spec/models`     | モデルのテストのみ実行                  |
| `rspec spec/controllers` | コントローラのテストのみ実行           |

---

# その他の便利コマンド
### ログの確認
| コマンド      | 説明                                    |
|-------------|----------------------------------------|
| `tail -f log/development.log` | Railsのログをリアルタイムで監視 |

### キャッシュクリア
| コマンド                  | 説明                                    |
|--------------------------|----------------------------------------|
| `rails tmp:cache:clear`  | キャッシュを削除                        |

---

# さいごに
最後までお読みいただき、ありがとうございました！  
Rails開発ではターミナルを多用するため、**よく使うコマンドを覚えておくと開発がスムーズになります。**  

もし「こんなコマンドも便利だよ！」というのがあれば、ぜひコメントで教えていただければ幸いです！