Rails Ambassador

Win11+WSL2上でRuby on Rails7環境を構築する

Window11にWSL2インストールし、ubuntu環境でRails7をインストールします。

WSL2のインストール

Windows11でWSL(Windows Subsistem for Linux)をインストールします。 WSLとはWindows上でLinuxOSを実行できる環境を構築するシステムです。
2022年12月現在WSL2が最新版となっています。WSL1に比べてパフォーマンス面で優れたものとなっていますのでよほどのことがない限りこちらを利用しましょう。
インストール前にはWindowUPDATEを行って最新のWindowsにしておくことをお勧めします。
PowerShell またはWindosPowerShellを管理者権限で起動してください。 起動しましたら以下WSLのインストールコマンドを実行してください。
wsl --install
管理者権限で起動していない場合は管理者権限を求められます。「はい」を選択して実行しましょう。
Linux用Windowsサブシステムと仮想マシンプラットフォームが有効化されます。
インストールが終わりましたらWindowの再起動を行ってください。再起動しますと自動的にubuntuが起動されると思いますが、起動されない場合や間違えて閉じてしまった場合はスタートメニューにUbuntu on Windowsの項目が追加されていますのでそちらから起動してください。ubuntuというLinuxOSがインストールされます。
しばらくすると「Enter new UNIX username:」と表示されます。ubuntuOSのユーザー名の登録となりますので任意の名前を入力してください。
次に「New password」とログインパスワードを尋ねられますので任意のものを入力してエンターキーを押してください。 次に「Retype new password」と出ましたら先ほどと同じパスワードを入力してエンターキーを押してください。セキュリティ上特にカーソル移動などありませんが正しく入力しましょう。
設定したパスワードはログイン時や管理者権限でのコマンド実行時などで使用しますので忘れないようにしておきましょう。 「Welcome to Ubuntu 20.04.4 LTS」と表示されましたら初期設定は完了です。
次の章ではMicroSoft製の強力なコードエディタをVisual Studio Codeをインストールします。

VSCodeをインストールしてWSL2と連携する

VisualStudioCodeというMicrosoft社製のコードエディタをインストールしてWSL2と連携させます。
VisualStudioCodeはVSCodeと略されることも多いので覚えておくと良いでしょう。
以下のURLからインストーラのダウンロードを行ってください。
https://code.visualstudio.com/
ダウンロードできましたらインストーラをダブルクリックで実行しましょう。
「使用許諾契約書」の画面が出てきましたらライセンス条項を読み、「同意する」にチェックを入れて「次へ」をクリックしてください。
インストールするフォルダを指定する画面になります。特に指定がなければそのまま次へをクリックしてください。
スタートメニューにショートカットを作成する画面になります。ショートカットが不要な方は「スタートメニューフォルダーを作成しない」にチェックを入れて次へをクリックしてください。
追加タスクの選択画面になります。デスクトップにアイコンが必要な方はチェックを入れましょう。「サポートされているファイルの種類のエディターとして、Codeを登録する」「PATHへの追加」にはチェックを入れておくことを推奨します。次へをクリックしてください。
インストール準備完了画面になります。内容を確認して「インストール」をクリックしましょう。インストールが始まります。
インストールが終わりますと「Visual Studio Codeセットアップウィザードの完了」画面になります。「Visual Studio Codeを実行する」にチェックを入れ、完了をクリックします。VSCodeが起動します。
VSCodeが起動しましたら、右下にVSCodeのメニューを日本語化するかダイアログが開きますので、青色の「インストールして再起動」ボタンをクリックして再起動しますとメニューが日本語化されます。
しばらくするとダイアログが閉じてしまいますので、日本語化したい場合は左側のExtensionsをクリックし、検索窓に「Jaoanese Language Pack for Visua Studio Code」を検索して拡張機能をインストールします。インストール後、VScodeの再起動をすると日本語化されます。
ターミナルが開いていない場合は「CTRL+@キー」でシェルを開くことができます。 初期値はPowerShellなどになっていると思います。タブを開いて「Ubuntu(WSL)」を選択するとubuntuOSのデフォルトシェルであるBashターミナルが起動します。
これでubuntuOSをLinuxのコマンドで操作することができるようになりました。
コードエディタVscodeのインストールは以上です。
次にRubyのバージョン管理ツールrbenvを使ってRubyをインストールしていきます。

rbenvを使ってRubyをインストールする

Rubyをインストールします。動画内ではコードエディタのVSCodeを使用します。
VSCodeのBashターミナルを開いてください。
最初にubuntuのパッケージ管理システムであるaptリポジトリのダウンロード先を日本(日本在住の方に推奨)にしておきましょう。
/etc/aptに移動
cd /etc/apt
/etc/apt/sources.listのバックアップを取る(souces.list.orgなどという名前のコピーファイルを作っておく)
sudo cp sources.list sources.list.org
spurces.listファイル内のダウンロードリンクURLを書き換える
sudo sed -i".bak" -e 's/\/\/us.archive.ubuntu.com/\/\/ftp.jaist.ac.jp/g' /etc/apt/sources.list
aptリポジトリのパッケージ一覧を最新版にし、更新する。
sudo apt update
sudo apt install -y upgrade
rbenvというRubyのバージョン管理システムをインストールします。
Gitからrbenvをcloneしますが、Gitのユーザ設定を行っていない方は最初に設定をしておいてください。
git config --global user.name "ユーザ名" 
git config --global user.email "メールアドレス"
設定した内容を確認するには「git config --list」を実行してください。
Gitからrbenvをcloneします。
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
パスを通し、初期化スクリプトを記載・実行します。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
echo 'eval "$(rbenv init -)"' >> ~/.profile
source ~/.profile
バージョン確認ができましたらインストールできています。
rbenv -v
rbenvだけではRubyをインストールできませんので、rbenvのプラグインであるruby-buildもインストールします。
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
インストールできるRubyのバージョンは以下コマンドで確認することができます。
rbenv install --list
ではRubyを実行するのに必要な4つのライブラリをインストールしておきましょう。
sudo apt install -y build-essential zlib1g-dev libssl-dev 
今回は現在の最新版である3.1.3をインストールします。
rbenv install -v 3.1.3
デフォルトで使用するRubyのバージョンも3.1.3にしておきます。
rbenv global 3.1.3
現在rbenvで管理されているバージョンを確認しておきましょう。
rbenv versions
Rubyのインストールは以上です。次のチャプターではいよいよRails7をインストールします。

Rails7をインストールする

こちらのチャプターではRails7とPostgreSQLをインストールします。
PostgreSQLとクライアントライブラリをインストールします。
sudo apt install -y postgresql libpq-dev
PostgreSQLを起動して、ロール(ユーザ)を作成します。
データベースサーバの起動
sudo /etc/init.d/postgresql start
ubuntuのユーザにpostgresユーザが追加されています。postgresユーザのパスワードを決めてログインします。
sudo passwd postgres
パスワードを入力し、Retype new passwordにも同じパスワードを入力してください。
postgresユーザとしてログインします。パスワードを尋ねられますので先ほど作成したものを入力してください。
su postgres
PostgreSQLクライアントに接続します。
psql -U postgres
ロールを作成します。の部分にはubuntuユーザ名で作成しましょう。
CREATE ROLE  LOGIN CREATEDB CREATEROLE PASSWORD 'password';
ロールが作成できているか確認します。
\du
確認できましたらPostgreSQLクライアントをexitします。
exitまたはquit
postgresユーザからもログアウトしましょう。
exit
よく使われるサーバサイドJavaScriptのnode.jsもインストールしておきましょう。
npm(Node Package Manager)を使ってインストールします。
sudo apt -y install npm
インストールしたnpmでnodeを追加します。
sudo npm install -g n
node.jsの最新のLTSのバージョンをインストールします。
sudo n lts
インストールしたバージョンを確認しておきましょう。
node -v
RailsとPostgreSQLを接続するGemをインストールします。
gem install rails pg
これでRails7のインストールは完了です。
Railsアプリを作成してみましょう。
ユーザのHomeディレクトリに移動し、workspaceディレクトリを作成、このディレクトリにアプリを作成します。 Homeディレクトリに移動します。
cd
workspaceディレクトリを作成します。
mkdir workspace
workspaceディレクトリに移動します。
cd workspace
データベースの指定はPostgreSQLにし、Railsアプリを作成します。アプリ名はtestappとします。
rails new apps -d=postgresql
testappというフォルダが作成されRailsアプリの雛形ができあがりました。
作成したアプリのディレクトリに移動します。
cd testapp
データベースを作成します。データベース名はconfig/database.ymlファイルに記載されている名称になります。(デフォルトの開発環境のデータベース名はtestapp_development)
rails db:create
Webサーバを起動しましょう。
rails s
ブラウザで「http://localhost:4000/」にアクセスし、Railsアプリの初期画面が表示されましたら完了です。
次のLessonではRailsでWebアプリケーションを実際に作成します。
Railsアプリの作成