Windows/WSLでRails環境構築:Ubuntu + rbenv + SQLite の最短セットアップ
生徒
「Railsを始めてみたいのですが、Windowsでは難しいですか?」
先生
「大丈夫ですよ!WindowsでもWSL(ダブリューエスエル)を使えば、UbuntuというLinux環境を簡単に使えます。そして、その上にRubyやRailsを入れて開発できます。」
生徒
「WSLって何ですか?難しそうです……」
先生
「WSLは“Windows Subsystem for Linux”の略で、Windows上でLinuxを動かせる機能のことです。難しく聞こえますが、設定も簡単なので、一緒にやっていきましょう!」
1. なぜWSLでRailsを動かすの?
Windowsパソコンで直接Ruby on Rails(ルビーオンレイルズ)を動かすのは、環境によって動作が不安定だったり、設定が複雑だったりします。そこで、LinuxのUbuntu(ウブントゥ)を使うのが一般的です。LinuxはRubyやRailsの動作に向いていて、たくさんの情報がネット上にもあるため安心です。
そして、そのUbuntuをWindows上で動かす方法が「WSL(ダブリューエスエル)」です。これにより、MacやLinuxユーザーと同じように開発ができます。
2. WSLをインストールしよう
まずは、WindowsにWSLをインストールしましょう。これは一度だけ行えばOKです。
スタートメニューを右クリックし、「Windows Terminal(管理者)」を開いて、以下のコマンドを入力してください。
wsl --install
この操作で、自動的にWSLとUbuntuがインストールされます。途中で再起動やユーザー名・パスワードの設定が出てきたら、画面の指示に従ってください。
3. Ubuntuで初期設定をしよう
インストールが完了すると、「Ubuntu」というアプリが起動します。黒い画面が表示されますが、これがLinuxのターミナル(命令を入力する画面)です。
この中で、まずはシステムを最新の状態に更新しましょう。
sudo apt update
sudo apt upgrade -y
「sudo(スードゥー)」は管理者として操作するためのコマンドです。パスワードを聞かれたら、さきほど設定したものを入力してください。
4. Rubyをインストールしよう(rbenvを使う)
Ruby(ルビー)はRailsの土台となるプログラミング言語です。今回はバージョン管理が簡単にできる「rbenv(アールベンブ)」という仕組みを使います。
以下のコマンドでrbenvとruby-buildをインストールします。
sudo apt install -y git curl libssl-dev libreadline-dev zlib1g-dev
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
次に、Rubyの最新版(例:3.2.2)をインストールします。
rbenv install 3.2.2
rbenv global 3.2.2
これで、Rubyのインストールが完了しました。バージョン確認してみましょう。
ruby -v
5. Railsをインストールしよう
次に、Ruby on Rails本体をインストールします。まずは「Bundler(バンドラー)」というツールを入れます。これはRailsで必要なライブラリをまとめて管理するための道具です。
gem install bundler
gem install rails
インストールが終わったら、Railsのバージョンを確認してみましょう。
rails -v
6. データベースにSQLiteを使う
Railsではデータを保存するために「データベース(DB)」を使います。初心者におすすめなのは「SQLite(エスキューライト)」という軽量なデータベースです。
以下のコマンドでインストールします。
sudo apt install -y sqlite3 libsqlite3-dev
SQLiteは特別な設定なしに使えて、ファイルとして保存されるので、とてもシンプルです。
7. Railsアプリが作れるか確認してみよう
すべての準備ができたので、実際にRailsアプリを作成してみましょう。以下のコマンドで、テスト用のアプリを作ります。
rails new sample-app
cd sample-app
bin/rails server
その後、ブラウザで「http://localhost:3000」と入力すると、Railsの初期画面が表示されるはずです!これで成功です!
まとめ
WindowsでRuby on Rails(ルビーオンレイルズ)の開発環境を準備する際、WSL(ダブリューエスエル)を利用してUbuntu(ウブントゥ)を動かし、その上でRubyやRails、SQLiteなどの開発に必要なツールを整える方法は、安定性と学習効率の両方を満たすとても実践的な手順です。特に、Windowsの標準環境で直接Railsを動かそうとすると依存関係の問題やバージョン管理の難しさが出てきますが、WSLを使うことでLinuxベースの環境を再現でき、MacやLinuxユーザーと同じコマンドや設定を使えることが大きな利点になります。今回の流れでは、WSLのインストール、Ubuntuの初期設定、rbenvでのRubyインストール、gemによるRailsセットアップ、SQLiteの導入、そしてアプリ生成までを一通り学ぶことができました。コマンド一つ一つがRails開発に必要な意味を持っており、ただ入力するだけでなく、なぜ必要なのか理解しながら進めることで、Rails開発の基礎がしっかりと身に付きます。
また、rbenvを使ったバージョン管理は非常に重要で、開発環境が違う複数のプロジェクトを扱う場合、Rubyのバージョン違いからエラーが起きることは珍しくありません。そのため、rbenv globalやrbenv localを使いプロジェクトごとにバージョンを切り替える習慣をもつことで、より柔軟な開発が可能になります。さらに、SQLiteは軽量で設定が不要なデータベースであり、学習環境や小規模アプリでは最適な選択肢です。本格的なアプリ制作ではMySQLやPostgreSQLに移行することもありますが、最初の一歩としてSQLiteを使うことで、Railsの基本動作をスムーズに体験できます。WSL環境下でRailsサーバーを起動し、http://localhost:3000でブラウザから動作確認できる体験は、開発フロー全体を理解するうえで大切な成功体験となります。
サンプルプログラム:Railsアプリ作成から動作確認までの流れ
以下は今回学んだ手順を実践するための、Ubuntu上でRailsプロジェクトを作成し、動作確認まで行う一連のコマンドです。
# Ubuntuでアプリ作成
rails new myapp --database=sqlite3
# ディレクトリ移動
cd myapp
# サーバー起動
bin/rails server
# 必要に応じてモデル作成
bin/rails g model Article title:string content:text
# マイグレーション
bin/rails db:migrate
この例では、Railsアプリの新規作成からデータベースマイグレーション、モデル作成、サーバー起動までの基本的な流れがまとまっています。Ubuntuのターミナルでコマンドが正常に動き、ブラウザから初期画面が表示される状態になれば環境構築の成功です。同時に、Railsがモデルを生成しSQLiteにテーブルを作成する流れを体験することで、MVCの仕組みが自然に理解できます。また、この構造を理解しておくことで、将来的にPostgreSQLやMySQLを導入するときにも応用が利きます。
環境構築後にやっておきたい確認と応用
環境構築が終わったあとは、Railsアプリ内で生成されたファイル構成を確認し、config/database.yml、Gemfile、app/controllers、app/modelsなどの主要フォルダを見ておくことがおすすめです。次に挑戦する段階として、Scaffoldを使ってCRUD画面を自動生成したり、BootstrapやTailwind CSSを導入してフロントエンドを整えるなど、発展的な設定に挑戦できます。Linux環境に慣れることでSSH接続やサーバー構築にもスムーズに進めるため、WSLでの学習は実務にも直結する大きな基礎力となります。Railsは規約が強いフレームワークですが、設定ファイルの役割を理解しておくことで、不具合が発生した際の原因調査や修正も素早く対応できるようになります。
生徒
「今日はWindowsでRailsが動かせる環境を作れたので、すごく達成感があります!WSLがどういう仕組みかもだんだんわかってきました。」
先生
「とても良い理解です!WindowsでもLinux環境を再現できるのがWSLの強みなので、このままUbuntuに触れながら慣れていきましょう。」
生徒
「Rubyをrbenvで管理する理由もわかりました。複数のプロジェクトを扱うときに便利ですね!」
先生
「その通りです。開発を進めるほど、バージョン管理が大切になりますよ。次はSQLiteで作成したデータを実際に画面で表示してみましょう。」
生徒
「はい!モデル作成やビュー表示にも挑戦して、さらに理解を深めたいです!」