こんにちは、かつコーチです。
「Railsの勉強を始めたいけど、環境構築でつまずいてしまう」という声をよく聞きます。
この記事では、Rails 8を前提に、rails newコマンドでプロジェクトを作成し、実際にブラウザで画面を表示するまでの手順を解説します。
つまずきやすいポイントも一次情報として紹介するので、同じ壁にぶつかったときの参考にしてください。
事前準備:RubyとRailsをインストールする
バージョン管理ツールでRubyを用意する
Railsを使うには、まずRubyがインストールされている必要があります。
バージョン管理にはrbenvやmiseといったツールを使うのが一般的です。
これらは、1台のパソコンで複数バージョンのRubyを切り替えて使えるようにするツールです。
# rbenvでRuby 3.4系をインストールする例
rbenv install 3.4.1
rbenv global 3.4.1
ruby -v
# => ruby 3.4.1 ...
Rails 8はRuby 3.2以上を推奨環境としています。
本記事ではRuby 3.4系を前提に解説します。
Railsをgemとしてインストールする
Rubyの準備ができたら、Railsをgem(Rubyのパッケージ)としてインストールします。
gem install rails -v 8.0.0
rails -v
# => Rails 8.0.0
インストールが完了すると、ターミナルでrailsコマンドが使えるようになります。
rails newでプロジェクトを作成する手順
基本のコマンド
プロジェクトを作成する場所に移動し、次のコマンドを実行します。
rails new my_blog_app
my_blog_appの部分がプロジェクト名(かつフォルダ名)になります。
実行すると、Railsに必要な一式のファイル・フォルダが自動的に生成されます。
よく使うオプション
rails newにはいくつかのオプションがあります。
用途に応じて組み合わせて使いましょう。
| オプション | 説明 |
|---|---|
-d postgresql | データベースにPostgreSQLを指定する(デフォルトはSQLite) |
--api | View(画面)を持たないAPI専用のRailsアプリを作成する |
-j esbuild | JavaScriptのビルドにesbuildを使用する |
--skip-test | 標準のテストフレームワークをスキップする |
-T | 標準のMinitestを生成しない(RSpecなど別のツールを使う場合) |
たとえば、PostgreSQLを使うブログアプリを作りたい場合は次のように実行します。
rails new my_blog_app -d postgresql
生成されるフォルダ構成の概要
コマンドを実行すると、次のようなフォルダが生成されます。
my_blog_app/
├── app/ # アプリケーションの本体(MVCなど)
├── config/ # ルーティングやデータベースなどの設定
├── db/ # マイグレーションファイルなど
├── Gemfile # 使用するgemの一覧
└── ...
このフォルダ構成の詳しい役割は、次回の記事「MVCとRailsのディレクトリ構成を理解する」で解説します。
rails serverで起動確認をする
サーバーを起動する
プロジェクトが作成できたら、フォルダに移動してサーバーを起動します。
cd my_blog_app
bin/rails server
# または省略形
bin/rails s
起動に成功すると、ターミナルに次のようなメッセージが表示されます。
=> Booting Puma
=> Rails 8.0.0 application starting in development
* Listening on http://127.0.0.1:3000
ブラウザでhttp://localhost:3000にアクセスすると、Railsのウェルカムページが表示されます。
この画面が出れば、環境構築は成功です。
停止方法
サーバーを停止するときは、ターミナルでControl + Cを押します。
作業を終えるときは必ず停止しておきましょう。
よくあるつまずきポイント・エラー対処
Before/After:データベース未作成でエラーになるケース
rails newの直後に、いきなりデータベースを使う機能を試そうとしてエラーになることがあります。
私が初めてRailsを触ったとき、rails newの直後にrails db:migrateを忘れたまま画面を開こうとして、次のようなエラーに遭遇しました。
❌Before:データベース作成前にアクセスしてしまう
# データベース未作成の状態でscaffoldなどを試す
bin/rails g scaffold Post title:string
bin/rails server
このままブラウザで一覧画面を開こうとすると、次のようなエラーが表示されます。
ActiveRecord::StatementInvalid
Could not find table 'posts'
これは「テーブルがまだ作られていない」というエラーです。
モデルを作っただけでは、実際のデータベースにテーブルは作成されません。
✅After:db:createとdb:migrateを実行してから確認する
bin/rails db:create
bin/rails db:migrate
bin/rails server
db:createでデータベース自体を作成し、db:migrateでテーブルを作成します。
この2つのコマンドを実行してから起動すれば、エラーは解消されます。
「モデルを作る」ことと「テーブルを作る」ことは別の作業だと意識しておくと、このエラーを避けやすくなります。
まとめ
この記事のポイント
- Railsを使うにはまずRuby本体とRailsのgemをインストールする必要がある
rails new アプリ名でプロジェクトの雛形が自動生成される-d postgresqlや--apiなどのオプションで、用途に合わせた構成を選べるbin/rails serverでサーバーを起動し、localhost:3000で画面を確認する- テーブルを使う前には
db:createとdb:migrateを忘れずに実行する
次に読むべき記事
環境構築ができたら、生成されたフォルダの中身を理解していきましょう。
「MVCとRailsのディレクトリ構成を理解する」で、それぞれのフォルダの役割を確認してみてください。
タグ: Ruby on Rails, 初心者向け, 環境構築