【Ruby on Rails】rails newでプロジェクトを作成する手順(Rails 8対応)

Ruby

こんにちは、かつコーチです。

「Railsの勉強を始めたいけど、環境構築でつまずいてしまう」という声をよく聞きます。
この記事では、Rails 8を前提に、rails newコマンドでプロジェクトを作成し、実際にブラウザで画面を表示するまでの手順を解説します。
つまずきやすいポイントも一次情報として紹介するので、同じ壁にぶつかったときの参考にしてください。

事前準備:RubyとRailsをインストールする

バージョン管理ツールでRubyを用意する

Railsを使うには、まずRubyがインストールされている必要があります。
バージョン管理にはrbenvmiseといったツールを使うのが一般的です。
これらは、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)
--apiView(画面)を持たないAPI専用のRailsアプリを作成する
-j esbuildJavaScriptのビルドに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:createdb:migrateを忘れずに実行する

次に読むべき記事

環境構築ができたら、生成されたフォルダの中身を理解していきましょう。
「MVCとRailsのディレクトリ構成を理解する」で、それぞれのフォルダの役割を確認してみてください。

タグ: Ruby on Rails, 初心者向け, 環境構築

タイトルとURLをコピーしました