はじめての環境構築  ～WindowsでRailsの開発環境を構築する～

**はじめての環境構築  ～WindowsでRailsの開発環境を構築する～**

# 1. はじめに

## 1-1. 対象読者

- Windows 10 / Windows 11 のユーザー
- 開発環境の構築に自信がない
- 構築中にエラーが出たが、対処方法が分からない

## 1-2. 実行環境

- OS: Windows 11 Home 21H2 64bit
- PC: LAVIE HZ750/L
- CPU: Intel Core i7-8550U
- メモリ: 8GB

## 1-3. Windowsに構築しようと思ったきっかけ

Railsを学習するためにMacBookを購入したのですが、開発効率が思ったより向上しなかったので、慣れ親しんだWindowsに戻すことにしました。

MacはM1チップだったこととシェルがZSHだったことのどちらかが原因でgemのインストールに苦労しました。また、ExcelやWinMerge、サクラエディタ、psqleditといったツールを開発の補助で使用していますが、Macには同等のツールが存在しません。

## 1-4. 注意点

次の環境構築は自力でチャレンジできるよう、公式ドキュメントに沿って解説しています。そのため公式ドキュメントの画面をいちいち表示しているので少し見づらいかもしれませんが、ご了承お願いします。

# 2. WSL2のインストール

RailsはLinuxというOSをベースに開発されています。
Windows上に直接環境を作ってしまうと、gemのインストールで苦労する可能性が高いです。
PCのメモリに不安がなければWSL2をインストールし、Windows上にLinuxの仮想環境を構築しましょう。

## 2-1. WSL2のインストール手順

[Microsoft公式のインストール手順](https://docs.microsoft.com/ja-jp/windows/wsl/install)

WSL2がインストール済だったため、本記事に手順を載せられませんでした。

公式の手順書は難しいという方はこちらを参考にしてください。
[【初心者向け】WSL2のインストール ～ 基本操作をまとめて解説](https://inno-tech-life.com/dev/infra/wsl2_install/)

正しくインストールできていれば、PowerShellで `wsl --list --verbose` を実行すると図のよう
に「Running」と表示されます。
[![Image from Gyazo](https://i.gyazo.com/b9f69acc7463bcd24c91190920f12ca2.png)](https://gyazo.com/b9f69acc7463bcd24c91190920f12ca2)

## 2-2. WSL2の設定①　Windows Terminalの設定

ここからは公式ドキュメントに従って、WSL2でプログラミングをするための設定をします。次のリンクを別タブで開いてください。
[公式ドキュメント：WSL 開発環境を設定する](https://docs.microsoft.com/ja-jp/windows/wsl/setup/environment)

**「Linuxのユーザー名とパスワードを設定する」**
2-1.で設定済なので割愛します。

**「パッケージの更新とアップグレード」**
Windows Updateと違ってLinuxは自動で更新されることがありません。ここのコマンドをコピーしておき、定期的に実行するようにしましょう。

**「ディストリビューションを追加する」**
ディストリビューションとは、Linuxの配布形式です。デフォルトは「Ubuntu」になっており、特にこだわりがなければ追加する必要はありません。

**「Windows Terminalの設定」**
RailsやGitでコンソールを使う機会が多いのでインストールすることにします。赤枠のリンクを別タブで開きます。

[![Image from Gyazo](https://i.gyazo.com/88115e15a8d85a825ada0b043ec99ef4.png)](https://gyazo.com/88115e15a8d85a825ada0b043ec99ef4)

[![Image from Gyazo](https://i.gyazo.com/16982880c0a3a80e72c56e170f4a6428.png)](https://gyazo.com/16982880c0a3a80e72c56e170f4a6428)

[![Image from Gyazo](https://i.gyazo.com/7d14d1ac1d1c8d5080c4501a3dfe8f9c.png)](https://gyazo.com/7d14d1ac1d1c8d5080c4501a3dfe8f9c)

[![Image from Gyazo](https://i.gyazo.com/18c9306a645e893471831f9c9d191b0c.png)](https://gyazo.com/18c9306a645e893471831f9c9d191b0c)

Windows Terminalが開きます。使い方は後ほど解説します。
[![Image from Gyazo](https://i.gyazo.com/b47c545486e69a107f5bd14cd06b63e3.png)](https://gyazo.com/b47c545486e69a107f5bd14cd06b63e3)

## 2-3. WSL2の設定②　Visual Studio Codeのインストール

Visual Studio Code（以下、VSCodeと表記します）は、プログラミングに使う便利ツール（＝統合開発環境）です。他に使っているツールがあれば飛ばしてかまいませんが、他のツールでもWSL2上で開発できるのかは分かりません。

引き続き「公式ドキュメント：WSL 開発環境を設定する」を進めます。

**「File Storage」の要約：**
>Windowsとは別にLinux用のファイルシステム（ファイルやフォルダを管理するもの）が作られており、Linux上で作業しているときにWindowsのファイルを参照することができますが、パフォーマンスが悪くなるかもしれません。

ソースコードはLinuxのファイルシステムに保存するようにしましょう。

**「Visual Studio Code の使用」**
赤枠のリンクを別タブで開きます。
[![Image from Gyazo](https://i.gyazo.com/1efc786ac0da28c81f0cdc4684d04ac2.png)](https://gyazo.com/1efc786ac0da28c81f0cdc4684d04ac2)
[![Image from Gyazo](https://i.gyazo.com/50a051d67d37f95170dfce285b002d11.png)](https://gyazo.com/50a051d67d37f95170dfce285b002d11)
[![Image from Gyazo](https://i.gyazo.com/d3621aebf4fe7ed67163c80b7ad1fb9a.png)](https://gyazo.com/d3621aebf4fe7ed67163c80b7ad1fb9a)

ビット数が分からない方は「ビット数　確認」で検索してください。
PCメーカーによって違う可能性があるので、本記事には載せていません。

ダウンロードされたexeを起動します。
[![Image from Gyazo](https://i.gyazo.com/d8166bff8b0cb57ac4b95155cc437c94.png)](https://gyazo.com/d8166bff8b0cb57ac4b95155cc437c94)
[![Image from Gyazo](https://i.gyazo.com/7f4a65aeac59e9167578d9ce962dd4d8.png)](https://gyazo.com/7f4a65aeac59e9167578d9ce962dd4d8)
[![Image from Gyazo](https://i.gyazo.com/e2e62df5baf1a30f61c5d0b2afcdee1f.png)](https://gyazo.com/e2e62df5baf1a30f61c5d0b2afcdee1f)
[![Image from Gyazo](https://i.gyazo.com/4ccc046243051b5c1847bc79c8ad4328.png)](https://gyazo.com/4ccc046243051b5c1847bc79c8ad4328)

ここで私の環境ではエラーが発生しました。
[![Image from Gyazo](https://i.gyazo.com/7b0a4753349d85f5edecf4f4af75e47b.png)](https://gyazo.com/7b0a4753349d85f5edecf4f4af75e47b)
<details><summary>エラーの解消：</summary>

[![Image from Gyazo](https://i.gyazo.com/0c0e71e28d41daa3c1ddfabf022cc64c.png)](https://gyazo.com/0c0e71e28d41daa3c1ddfabf022cc64c)
[![Image from Gyazo](https://i.gyazo.com/9fd809587f1b20a7a8a5f96fbcf4ac75.png)](https://gyazo.com/9fd809587f1b20a7a8a5f96fbcf4ac75)
[![Image from Gyazo](https://i.gyazo.com/8bcefa576b78aefe0de597a9b85b8ee8.png)](https://gyazo.com/8bcefa576b78aefe0de597a9b85b8ee8)
[![Image from Gyazo](https://i.gyazo.com/2e00265adb9d845f4becfc00ad1c21b8.png)](https://gyazo.com/2e00265adb9d845f4becfc00ad1c21b8)
</details>

[![Image from Gyazo](https://i.gyazo.com/197d65a0561f3bcaf3618cee72f939ce.png)](https://gyazo.com/197d65a0561f3bcaf3618cee72f939ce)


## 2-4. VSCodeにRemote WSL拡張機能をインストール

赤枠のリンクを別タブで開きます。
[![Image from Gyazo](https://i.gyazo.com/ca71d8350b62373c136fcb151976f6d9.png)](https://gyazo.com/ca71d8350b62373c136fcb151976f6d9)
[![Image from Gyazo](https://i.gyazo.com/7cc2328718c7c8cff4d0458c80b859ae.png)](https://gyazo.com/7cc2328718c7c8cff4d0458c80b859ae)

VSCodeが開き、拡張機能が表示されます。
[![Image from Gyazo](https://i.gyazo.com/275a89e34f87ce31a0a70c9a4d24c53f.png)](https://gyazo.com/275a89e34f87ce31a0a70c9a4d24c53f)


## 2-5. VSCodeのライブラリを追加するため、Linuxディストリビューションを更新する

赤枠のコマンドを順に実行していきます。ここからはWindows上でコマンドを実行するのか、Linux上でコマンドを実行するのかが非常に重要になります。
[![Image from Gyazo](https://i.gyazo.com/0aba11dfa8774bd25f08198cdbb0ebae.png)](https://gyazo.com/0aba11dfa8774bd25f08198cdbb0ebae)

2-2.でインストールしたWindows Terminalを開きます。検索ウィンドウに「ターミナル」と打つと表示されます。※残念ながら、「terminal」では表示されません。
[![Image from Gyazo](https://i.gyazo.com/91057da01bb361e3670d75d953917185.png)](https://gyazo.com/91057da01bb361e3670d75d953917185)

PowerShellがデフォルトで表示されます。
ここにUbuntu（Linux）を並べて表示します。
[![Image from Gyazo](https://i.gyazo.com/01ab5a781cd1878cec6e49c1daddd411.png)](https://gyazo.com/01ab5a781cd1878cec6e49c1daddd411)

左：Windows、右：Linuxとなります。
[![Image from Gyazo](https://i.gyazo.com/d34d8fb277106ee92c559e98d1ef510a.png)](https://gyazo.com/d34d8fb277106ee92c559e98d1ef510a)

右側に先ほどのコマンドを打ちます。
[![Image from Gyazo](https://i.gyazo.com/585fcf79f88042be9e029a35edba6710.png)](https://gyazo.com/585fcf79f88042be9e029a35edba6710)
[![Image from Gyazo](https://i.gyazo.com/9a0b5367a4b6fd3851fc0e9d8b7591b0.png)](https://gyazo.com/9a0b5367a4b6fd3851fc0e9d8b7591b0)

<details><summary>実行ログ：</summary>

※画像はWindows側でwslを起動して実行してしまったので、少し見た目が異なります。
[![Image from Gyazo](https://i.gyazo.com/9ff298f2a54b14087c688f21f9b1e8ee.png)](https://gyazo.com/9ff298f2a54b14087c688f21f9b1e8ee)
</details>

もうひとつのコマンドも同じように実行します。
[![Image from Gyazo](https://i.gyazo.com/9ee32190466acc07ca6f04a2b9959a59.png)](https://gyazo.com/9ee32190466acc07ca6f04a2b9959a59)

[![Image from Gyazo](https://i.gyazo.com/c2c80e7b81646bfce765cadb39623777.png)](https://gyazo.com/c2c80e7b81646bfce765cadb39623777)

<details><summary>実行ログ：</summary>

[![Image from Gyazo](https://i.gyazo.com/46695497074c957a6dac055406735636.png)](https://gyazo.com/46695497074c957a6dac055406735636)
</details>


**「Visual Studio Code で WSL プロジェクトを開く」**
これでLinuxからVSCodeを開けるようになりました。右側（Linux）のコンソールで `code .` と打ってみましょう。
[![Image from Gyazo](https://i.gyazo.com/0c423f0d1b5ec908e1dc42d1875b24be.png)](https://gyazo.com/0c423f0d1b5ec908e1dc42d1875b24be)
[![Image from Gyazo](https://i.gyazo.com/d9c0eea595b22d00299efe4c2c567563.png)](https://gyazo.com/d9c0eea595b22d00299efe4c2c567563)

**「VS Code Remote 内の拡張機能」**
テーマの設定やVSCodeの拡張機能をインストールする時の注意書きが記載されています。拡張機能は便利なので、これからインストールする機会が多いと思います。一読しておいてください。
[![Image from Gyazo](https://i.gyazo.com/219ddee04fdd46823de80a96d681918c.png)](https://gyazo.com/219ddee04fdd46823de80a96d681918c)


## 2-6. WSL2の設定③　Gitのインストール
Gitはソースコードのバージョン管理をするためのツールです。WEB業界でGitHubというサービスを使ってオープンソースを開発したり、ポートフォリオのソースコードを面接官に見せたりするようです。余談ですが、SI業界ではTortoise SVNが主流です。
PCが壊れたときにソースコードが道連れになって消えてしまわないように、インストールするようにしましょう。
[![Image from Gyazo](https://i.gyazo.com/4c946efcdb816a8fa36135395c7ca492.png)](https://gyazo.com/4c946efcdb816a8fa36135395c7ca492)

このページの後ろのほうで、Gitの認証情報を管理するためにWindows側にインストールすることが推奨されています。
[![Image from Gyazo](https://i.gyazo.com/e6ec7167f9342bb4daa68c345e50ea89.png)](https://gyazo.com/e6ec7167f9342bb4daa68c345e50ea89)
[![Image from Gyazo](https://i.gyazo.com/84136e3690280f0f150976ef4dff5cd1.png)](https://gyazo.com/84136e3690280f0f150976ef4dff5cd1)
[![Image from Gyazo](https://i.gyazo.com/89cbac00020e44c8bb4226b63105b327.png)](https://gyazo.com/89cbac00020e44c8bb4226b63105b327)
[![Image from Gyazo](https://i.gyazo.com/33a2f961dbeb32a34b4049c73bfe6fc7.png)](https://gyazo.com/33a2f961dbeb32a34b4049c73bfe6fc7)

インストールした場所が分からなくなることがよくあるので、なるべくデフォルトのままにしておくことをお勧めします。「git インストール　場所」と検索すると出てきます。
[![Image from Gyazo](https://i.gyazo.com/0da27fae4a7cc21c8a028ce83e3ae388.png)](https://gyazo.com/0da27fae4a7cc21c8a028ce83e3ae388)

デフォルトでチェックされている項目はそのままにしてください。その他はお好みで。
[![Image from Gyazo](https://i.gyazo.com/fb8c00791aeb73769de8d4dee0651daf.png)](https://gyazo.com/fb8c00791aeb73769de8d4dee0651daf)
[![Image from Gyazo](https://i.gyazo.com/fe4e53f2b82dedcca15dfe421376111a.png)](https://gyazo.com/fe4e53f2b82dedcca15dfe421376111a)

こちらも好みで。私はVSCode内でしかGitを使わないのでこれにしました。
[![Image from Gyazo](https://i.gyazo.com/baa191238aaf9626fb2b5707296d9efd.png)](https://gyazo.com/baa191238aaf9626fb2b5707296d9efd)
[![Image from Gyazo](https://i.gyazo.com/bbf78f517a52545f0f095249be626617.png)](https://gyazo.com/bbf78f517a52545f0f095249be626617)
[![Image from Gyazo](https://i.gyazo.com/28881e94042b803569317c70d0595740.png)](https://gyazo.com/28881e94042b803569317c70d0595740)
[![Image from Gyazo](https://i.gyazo.com/5588614293cc97ddaa967ebd80a0c7fa.png)](https://gyazo.com/5588614293cc97ddaa967ebd80a0c7fa)

そろそろ嫌になってきます。
[![Image from Gyazo](https://i.gyazo.com/adb61c2c01ae76387ca01b33743939a5.png)](https://gyazo.com/adb61c2c01ae76387ca01b33743939a5)

改行コードがOSによって異なっていて、WindowsはCRLF、LinuxはLFとなっています。この差異のために改行コードが違うだけのファイルを「変更のあるファイル」とGitが認識してしまう問題があるようです。
この問題を回避する選択肢がどれなのか現時点では分からないですが、後で「.gitattributes」というファイルで設定変更できるようです。
[![Image from Gyazo](https://i.gyazo.com/7c7346ee21f42fa5d864c25582cedd01.png)](https://gyazo.com/7c7346ee21f42fa5d864c25582cedd01)
[![Image from Gyazo](https://i.gyazo.com/2c03b89114339b57c2a362ed202cce9d.png)](https://gyazo.com/2c03b89114339b57c2a362ed202cce9d)
[![Image from Gyazo](https://i.gyazo.com/b740b0cda559084ba4d2dc03b91b7e07.png)](https://gyazo.com/b740b0cda559084ba4d2dc03b91b7e07)
[![Image from Gyazo](https://i.gyazo.com/11344ecbe718fb8208bc381791d15452.png)](https://gyazo.com/11344ecbe718fb8208bc381791d15452)

あと少しです！
[![Image from Gyazo](https://i.gyazo.com/9e0dc667000eba5906648a9ad2a390e9.png)](https://gyazo.com/9e0dc667000eba5906648a9ad2a390e9)
[![Image from Gyazo](https://i.gyazo.com/603dfd49667081e8fb4c2a4b5df54cef.png)](https://gyazo.com/603dfd49667081e8fb4c2a4b5df54cef)

終わりました。Gitは設定が多いですね。
[![Image from Gyazo](https://i.gyazo.com/fcebcf62199c66a130f35c0ac8895328.png)](https://gyazo.com/fcebcf62199c66a130f35c0ac8895328)


## 2-7. Gitをアカウントに紐づける

赤枠のコマンドを打って、アカウントを紐づけます。緑色のヒントにも記載されていますが、GitHubのアカウントが必要になります。
[![Image from Gyazo](https://i.gyazo.com/c04c5eed1bc2b4db3a234cae0c1ccfd4.png)](https://gyazo.com/c04c5eed1bc2b4db3a234cae0c1ccfd4)

GitHubのユーザー名はここに書かれています。
[![Image from Gyazo](https://i.gyazo.com/ee8254e76b8b2432527a6409ff0b106e.png)](https://gyazo.com/ee8254e76b8b2432527a6409ff0b106e)

2-6でGitを使用するエディタをVSCodeにした方は、VSCodeでターミナルを開きます。その他を選んだ方は、Windows Terminalの左側（Windows）でも動作すると思います。
[![Image from Gyazo](https://i.gyazo.com/73389c596f5994b43d9d354128ae7427.png)](https://gyazo.com/73389c596f5994b43d9d354128ae7427)
[![Image from Gyazo](https://i.gyazo.com/19a82d41e163881b994496c3a8b266b3.png)](https://gyazo.com/19a82d41e163881b994496c3a8b266b3)


## 2-8. Git Credential Manager のセットアップ

2-7と同様にコマンドを実行します。
[![Image from Gyazo](https://i.gyazo.com/ef5941ba3dce60d9dc1d8595241ffe29.png)](https://gyazo.com/ef5941ba3dce60d9dc1d8595241ffe29)
[![Image from Gyazo](https://i.gyazo.com/5bbe81e248933a83309e0a596c369ec2.png)](https://gyazo.com/5bbe81e248933a83309e0a596c369ec2)


## 2-9. WSL2の設定④　Dockerのインストール

ようやく最初の「公式ドキュメント：WSL 開発環境を設定する」に戻ってきました。
Dockerとはアプリケーションの実行環境をコンテナという場所に作ってコピーや削除を簡単にする技術（というイメージ）です。詳細は調べてみてください。
リンクを別タブで開きます。
[![Image from Gyazo](https://i.gyazo.com/81ab72c105cf6cd8850d094dc46d9c0d.png)](https://gyazo.com/81ab72c105cf6cd8850d094dc46d9c0d)
[![Image from Gyazo](https://i.gyazo.com/de7f46a38b49babf24f2d806bbbb4838.png)](https://gyazo.com/de7f46a38b49babf24f2d806bbbb4838)
[![Image from Gyazo](https://i.gyazo.com/63761bcf7d64e9a819e5ae2ef413fe1d.png)](https://gyazo.com/63761bcf7d64e9a819e5ae2ef413fe1d)
[![Image from Gyazo](https://i.gyazo.com/ddaca23ea07317bf2b8ccbc8023c46a0.png)](https://gyazo.com/ddaca23ea07317bf2b8ccbc8023c46a0)
[![Image from Gyazo](https://i.gyazo.com/9da3b5400223a35dac095e4a06deb21a.png)](https://gyazo.com/9da3b5400223a35dac095e4a06deb21a)

※Clone and log out を押す前に
このボタンを押すと、PCが強制的に再起動されます。開いているファイルは保存して閉じておきましょう。
[![Image from Gyazo](https://i.gyazo.com/8b7877fb84b5d9c5ee41ad72b697ba47.png)](https://gyazo.com/8b7877fb84b5d9c5ee41ad72b697ba47)


## 2-10. Dockerの設定

この設定を確認していきます。
[![Image from Gyazo](https://i.gyazo.com/6632c0edb7506e8921b5d2f0872b4220.png)](https://gyazo.com/6632c0edb7506e8921b5d2f0872b4220)

再起動後、自動で開かなかった場合はデスクトップのアイコンから起動します。
[![Image from Gyazo](https://i.gyazo.com/2b3fbff2ff6b720dc52aa8eeb94bdd3c.png)](https://gyazo.com/2b3fbff2ff6b720dc52aa8eeb94bdd3c)

設定を開きます。
[![Image from Gyazo](https://i.gyazo.com/7de9b76e8f48b31a6e6a251c0330e331.png)](https://gyazo.com/7de9b76e8f48b31a6e6a251c0330e331)
[![Image from Gyazo](https://i.gyazo.com/da0b8e49df391c3cc9328edd1c2294a7.png)](https://gyazo.com/da0b8e49df391c3cc9328edd1c2294a7)

続いて4.～6.を確認します。
[![Image from Gyazo](https://i.gyazo.com/6fbe6ced108f7c0ddeae71bce194166a.png)](https://gyazo.com/6fbe6ced108f7c0ddeae71bce194166a)
[![Image from Gyazo](https://i.gyazo.com/88a3fc6046e622efbe4b83a5d3cc2d7d.png)](https://gyazo.com/88a3fc6046e622efbe4b83a5d3cc2d7d)

右側（Linux）でコマンドを実行します。
[![Image from Gyazo](https://i.gyazo.com/bdd7f57ecdd26f133fef122bd5f7cc54.png)](https://gyazo.com/bdd7f57ecdd26f133fef122bd5f7cc54)


## 2-11. VSCodeにDockerの拡張機能をインストールする

最初の2つは2-4.でインストール済なので、3つ目のリンクを別タブで開きます。
[![Image from Gyazo](https://i.gyazo.com/b082c82e153d707cf6d6fc35c7a19432.png)](https://gyazo.com/b082c82e153d707cf6d6fc35c7a19432)
[![Image from Gyazo](https://i.gyazo.com/2789f21d24fd31b500f706373ec2d089.png)](https://gyazo.com/2789f21d24fd31b500f706373ec2d089)
[![Image from Gyazo](https://i.gyazo.com/99fe0af95d01f99e85cf135a20035527.png)](https://gyazo.com/99fe0af95d01f99e85cf135a20035527)

長くなりすぎるので、以降の「Docker を使用して、既存のアプリ プロジェクトの開発コンテナーを作成しましょう。」は省略します。


## 2-12. WSL2の設定⑤　データベースのインストール

赤枠のリンクを別タブで開きます。
[![Image from Gyazo](https://i.gyazo.com/1d905ba243269593c52ab27cfaa98bca.png)](https://gyazo.com/1d905ba243269593c52ab27cfaa98bca)

データベースには色々種類がありますが、ここではPostgreSQLをインストールしてみます。データベースはいくつでもインストールできます。
「PostgreSQLのインストール」までスクロールします。
赤枠の内容を順に実行していきます。
[![Image from Gyazo](https://i.gyazo.com/b55653971b7103a56fed4c115b9f59e2.png)](https://gyazo.com/b55653971b7103a56fed4c115b9f59e2)

Windows Terminalの右側（Linux）でコマンドを実行します。
[![Image from Gyazo](https://i.gyazo.com/b5507200e54eedac531a434af1cd4486.png)](https://gyazo.com/b5507200e54eedac531a434af1cd4486)
[![Image from Gyazo](https://i.gyazo.com/6d4ce85c2e8618b8ca2c1fb0be6db2aa.png)](https://gyazo.com/6d4ce85c2e8618b8ca2c1fb0be6db2aa)

<details><summary>実行ログの続き：</summary>

[![Image from Gyazo](https://i.gyazo.com/6367527d92383bbb36d7b03eaad882c9.png)](https://gyazo.com/6367527d92383bbb36d7b03eaad882c9)
</details>

インストールが成功していたら、バージョンが表示されます。
[![Image from Gyazo](https://i.gyazo.com/0af56822809b7da9dec385e0467134a1.png)](https://gyazo.com/0af56822809b7da9dec385e0467134a1)

PostgreSQLを実行するにはサービスの起動が必要です。起動していないときはこういうエラーが表示されます。
[![Image from Gyazo](https://i.gyazo.com/f856d0eab7844dea60511fa5801a12d4.png)](https://gyazo.com/f856d0eab7844dea60511fa5801a12d4)

PostgreSQLのサービスを起動すると、実行できるようになります。
[![Image from Gyazo](https://i.gyazo.com/a5539ae91b874b2c1eb3ff7db9e82ec5.png)](https://gyazo.com/a5539ae91b874b2c1eb3ff7db9e82ec5)

**「パフォーマンスを向上させるために GPU アクセラレーションを設定する」**
設定が多いので、今回は省略しました。以降の設定も必須ではないので省略します。

長くなりましたが、以上でWSL2の設定完了です！



# 3. Railsのインストール

いよいよRailsの開発環境をインストールしていきます。ここからは手持ちの本を参考にしたので、コマンドを直接書いていきます。
VSCodeのターミナルでコマンドを実行します。
起動時はWindowsのファイルシステム上にいるので、Linuxのファイルシステムに移動します。

```
cd ~
```

## 3-1. rbenvのインストール

Rubyのバージョンを管理してくれる `rbenv` をインストールします。

```
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
```

[![Image from Gyazo](https://i.gyazo.com/a3eae8d2603e6104fecb852a989eab14.png)](https://gyazo.com/a3eae8d2603e6104fecb852a989eab14)

次の2行で環境変数を設定します。

```
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
```

[![Image from Gyazo](https://i.gyazo.com/bfc5553f6a1a451ffc6160f242b0ef87.png)](https://gyazo.com/bfc5553f6a1a451ffc6160f242b0ef87)

ここで環境変数を読み込むために、一度Linuxを再起動します。
Windows Terminalの左側（Windows）で次のコマンドを実行します。

```
wsl --shutdown
```

自動で再起動されるみたいです。
[![Image from Gyazo](https://i.gyazo.com/9d3ae482f2703a0ec3c067c81a8c44f0.png)](https://gyazo.com/9d3ae482f2703a0ec3c067c81a8c44f0)

VSCodeも閉じられてしまったので、Windows Terminalの右側（Linux）で次のコマンドを実行し、起動します。

```
code .
```

開いたVSCodeのターミナルで次のコマンドを実行し、バージョンが表示されればrbenvｍｐインストールは成功です。

```
rbenv -v
```

[![Image from Gyazo](https://i.gyazo.com/430e1e8bba768a8b1d63e99cbece6dab.png)](https://gyazo.com/430e1e8bba768a8b1d63e99cbece6dab)


## 3-2. ruby-buildのインストール

`ruby-build` は3-1の `rbenv` のプラグインになります。
VSCodeのターミナルで次のコマンドを実行します。

```
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
```

[![Image from Gyazo](https://i.gyazo.com/c9a59615cb2bc1c5ebed4fa8a8f19b0d.png)](https://gyazo.com/c9a59615cb2bc1c5ebed4fa8a8f19b0d)

`ruby-build`の推奨パッケージもインストールします。
最新のコマンドを[rbenv/ruby-build Wiki (github.com)](https://github.com/rbenv/ruby-build/wiki)からコピーします。
[![Image from Gyazo](https://i.gyazo.com/32ffd20a26bdee174aa81501e40d6ab3.png)](https://gyazo.com/32ffd20a26bdee174aa81501e40d6ab3)

エラーが出る場合は先頭に `sudo` をつけて実行してください。
[![Image from Gyazo](https://i.gyazo.com/8a656375a5ae1e892ddf457bc875a308.png)](https://gyazo.com/8a656375a5ae1e892ddf457bc875a308)

<details><summary>実行ログの続き：</summary>

[![Image from Gyazo](https://i.gyazo.com/db3fa8f452eff41fca62af3c7ae2bc05.png)](https://gyazo.com/db3fa8f452eff41fca62af3c7ae2bc05)
[![Image from Gyazo](https://i.gyazo.com/c24b0be2d2af8aa5eb045a48ff4ac8be.png)](https://gyazo.com/c24b0be2d2af8aa5eb045a48ff4ac8be)
[![Image from Gyazo](https://i.gyazo.com/634467930361f28cd107e64aff29e9e7.png)](https://gyazo.com/634467930361f28cd107e64aff29e9e7)
[![Image from Gyazo](https://i.gyazo.com/bbc51152aa42f05e0a35d4fb743bfdef.png)](https://gyazo.com/bbc51152aa42f05e0a35d4fb743bfdef)
[![Image from Gyazo](https://i.gyazo.com/a740608ba10ce3b52162d509a67c0186.png)](https://gyazo.com/a740608ba10ce3b52162d509a67c0186)
[![Image from Gyazo](https://i.gyazo.com/a2777d8d7c5d652bc6a2ea3ed08fa978.png)](https://gyazo.com/a2777d8d7c5d652bc6a2ea3ed08fa978)
</details>


## 3-3. Rubyのインストール

現時点（2022年6月）でRailsチュートリアルのRailsのバージョンが6.0.4なので、推奨されているRuby 2.6.6をインストールします。
参考：[Ruby と Rails のバージョン表](https://qiita.com/yoshikazu0110/items/36eff3bad38239448d31)

VSCodeのターミナルで次のコマンドを実行します。

```
rbenv install 2.6.6
```

[![Image from Gyazo](https://i.gyazo.com/aef6d83e92fb0580f4bf98d141457eee.png)](https://gyazo.com/aef6d83e92fb0580f4bf98d141457eee)

Rubyのデフォルトバージョンとして指定します。

```
rbenv global 2.6.6
```

Rubyのバージョンを確認します。

```
ruby -v
```

[![Image from Gyazo](https://i.gyazo.com/4bfb27b590e2a1f641fd96f4d29524a1.png)](https://gyazo.com/4bfb27b590e2a1f641fd96f4d29524a1)


## 3-4. RubyGemsの更新

RubyGemsはRubyと一緒にインストールされますが、最新の状態に更新します。

```
gem update --system
```

コンソールが消えてしまったので、最後の部分の実行ログになります。
<details><summary>実行ログ：</summary>

[![Image from Gyazo](https://i.gyazo.com/e5b03d805271b8907dd26e05b188101b.png)](https://gyazo.com/e5b03d805271b8907dd26e05b188101b)
[![Image from Gyazo](https://i.gyazo.com/899cd3c46378864017eb1bfa8ccced24.png)](https://gyazo.com/899cd3c46378864017eb1bfa8ccced24)
</details>


## 3-5. Railsのインストール

VSCodeのターミナルで次のコマンドを実行します。

```
gem install rails -v 6.0.4
```

[![Image from Gyazo](https://i.gyazo.com/7dfa128bbec7f7a585563abc16c7a3c6.png)](https://gyazo.com/7dfa128bbec7f7a585563abc16c7a3c6)

<details><summary>実行ログの続き：</summary>

[![Image from Gyazo](https://i.gyazo.com/5180cf7e457577d888578aac3626c849.png)](https://gyazo.com/5180cf7e457577d888578aac3626c849)
[![Image from Gyazo](https://i.gyazo.com/06ffcca30fb877f722a0f7974266e3ca.png)](https://gyazo.com/06ffcca30fb877f722a0f7974266e3ca)
[![Image from Gyazo](https://i.gyazo.com/0deb2b503bc174744caf16dd53dc4cc7.png)](https://gyazo.com/0deb2b503bc174744caf16dd53dc4cc7)
[![Image from Gyazo](https://i.gyazo.com/4498742cb2cc94427246f5bea9d60fda.png)](https://gyazo.com/4498742cb2cc94427246f5bea9d60fda)
[![Image from Gyazo](https://i.gyazo.com/1b59eb79ba4aa748a4ab3c2afae24589.png)](https://gyazo.com/1b59eb79ba4aa748a4ab3c2afae24589)
</details>


## 3-6. Node.jsのインストール

Node.jsはWSL2上に構築するので、次の記事を参考にします。
[WSL 2 上で Node.js を設定する | Microsoft Docs](https://docs.microsoft.com/ja-jp/windows/dev-environment/javascript/nodejs-on-wsl)

Node.jsは更新が頻繁なので。バージョン管理ツール `nvm` をインストールし、`nvm` からnode.jsをインストールします。
次のコマンドをWindows Terminalの右側（Linux）で実行します。
[![Image from Gyazo](https://i.gyazo.com/608a72d291267db9259cee290b9c0db2.png)](https://gyazo.com/608a72d291267db9259cee290b9c0db2)
[![Image from Gyazo](https://i.gyazo.com/21d797f9c88d45cec0c627423d08f44a.png)](https://gyazo.com/21d797f9c88d45cec0c627423d08f44a)
[![Image from Gyazo](https://i.gyazo.com/60bf0283245c361aecdfc09638212037.png)](https://gyazo.com/60bf0283245c361aecdfc09638212037)
[![Image from Gyazo](https://i.gyazo.com/265137d123bdf306f0915c4fed9d07a6.png)](https://gyazo.com/265137d123bdf306f0915c4fed9d07a6)
<details><summary>実行ログの続き：</summary>

[![Image from Gyazo](https://i.gyazo.com/d0b3e4dd7c68ef71ef81fa4aa87437ef.png)](https://gyazo.com/d0b3e4dd7c68ef71ef81fa4aa87437ef)
</details>

[![Image from Gyazo](https://i.gyazo.com/320b96cc26322fc00418ccce43fc8158.png)](https://gyazo.com/320b96cc26322fc00418ccce43fc8158)
[![Image from Gyazo](https://i.gyazo.com/3f1e39c512907918a6733b2cc97e97b2.png)](https://gyazo.com/3f1e39c512907918a6733b2cc97e97b2)
何も応答がありません。同じように応答がなかったり、エラーメッセージが表示されたりした場合は、ターミナルを開きなおします。
Windows TerminalでUbuntuの新規タブを開きましょう。
[![Image from Gyazo](https://i.gyazo.com/cc374a98178964ddcd3f93ae6058fd11.png)](https://gyazo.com/cc374a98178964ddcd3f93ae6058fd11)
「nvm」と表示されればインストール成功です。
[![Image from Gyazo](https://i.gyazo.com/05e057897a7a404a37501ecbecb0c087.png)](https://gyazo.com/05e057897a7a404a37501ecbecb0c087)
node.jsをインストールする前に、すでにインストールされていないことを確認します。
[![Image from Gyazo](https://i.gyazo.com/870297710a2ae1cda2e69823874c5f80.png)](https://gyazo.com/870297710a2ae1cda2e69823874c5f80)
同じ応答なので、node.jsはインストールされていません。
[![Image from Gyazo](https://i.gyazo.com/b887389b3937dae35ca9f19c56873709.png)](https://gyazo.com/b887389b3937dae35ca9f19c56873709)
私は基本安定版しかインストールしないので、1つ目のコマンドだけ実行します。
[![Image from Gyazo](https://i.gyazo.com/86779f11e7252139e1fe7de31ec285e7.png)](https://gyazo.com/86779f11e7252139e1fe7de31ec285e7)
[![Image from Gyazo](https://i.gyazo.com/54bc0e7c8a547c4131847f7399413abd.png)](https://gyazo.com/54bc0e7c8a547c4131847f7399413abd)
[![Image from Gyazo](https://i.gyazo.com/ec8a96ed1120f2499f1caf2db121b8ab.png)](https://gyazo.com/ec8a96ed1120f2499f1caf2db121b8ab)
[![Image from Gyazo](https://i.gyazo.com/926de01934fe2ce920489846e5ef7bc4.png)](https://gyazo.com/926de01934fe2ce920489846e5ef7bc4)
`node --version` はエラーが出たので、`node -v` でバージョンを確認します。
[![Image from Gyazo](https://i.gyazo.com/c6a77671fd687f79d0b7c7e015cc0524.png)](https://gyazo.com/c6a77671fd687f79d0b7c7e015cc0524)


## 3-7. PostgreSQLをRails用にセットアップ

ここではPostgreSQLのユーザー名を設定しますが、Linux(Ubuntu)のユーザー名と同じものにしてください。
VSCodeのターミナルで次のコマンドを実行します。xxxxxxはユーザー名に置き換えてください。

```
sudo su postgres -c 'createuser -s xxxxxx'
```

[![Image from Gyazo](https://i.gyazo.com/0f8c2225575c15aec6c788ba9664217f.png)](https://gyazo.com/0f8c2225575c15aec6c788ba9664217f)

PostgreSQLのライブラリもインストールします。

```
sudo apt install libpq-dev
```

[![Image from Gyazo](https://i.gyazo.com/64a77447d8b4cfe220591d4dd75d3ca4.png)](https://gyazo.com/64a77447d8b4cfe220591d4dd75d3ca4)


## 3-8. railsコマンドのインストール

`rails ***` のコマンドを実行できるようにします。
VSCodeのターミナルで `gem install rails` を実行します。
[![Image from Gyazo](https://i.gyazo.com/83331666f45da8539d484e9348f22800.png)](https://gyazo.com/83331666f45da8539d484e9348f22800)

<details><summary>実行ログの続き：</summary>

[![Image from Gyazo](https://i.gyazo.com/1a1d4d446b16783eba0def6698a66405.png)](https://gyazo.com/1a1d4d446b16783eba0def6698a66405)
[![Image from Gyazo](https://i.gyazo.com/2f731bb87cb2062a08e6e45585e3eb1a.png)](https://gyazo.com/2f731bb87cb2062a08e6e45585e3eb1a)
</details>

インストールは以上で完了になります。お疲れ様でした！
GitHubのプロジェクトをクローンしてみたり、`rails new` でRailsの新規プロジェクトを作成したり色々と試してみてください。



# 4. おわりに

初めて記事を書いたので、至らない点が数々あると思います。
記事の改善点やインストール中に発生したエラーがあれば、教えてください。


# 5. 改訂履歴

2022/06/22
「3-6. Node.jsのインストール」をWSL2にインストールするよう、内容を刷新しました。
「3-8. railsコマンドのインストール」を追加しました。