Carpe Diem

備忘録

WindowsでWSL環境を整える

概要

社会人になってからほとんどmacOSだったのですが、Windowsでも開発やブログ投稿できるように環境を整えています。

今回は開発環境としてWSLをメインで使うよう、環境構築の手順を説明します。

環境

  • Windows 11
  • PowerShell 7.4.6
  • WSL 2.3.26.0

1. PowerShell

最初にPowerShellとWSLの区別で躓いたので説明します。

PowerShellとは

PowerShellとはWindowsネイティブのシェル環境です。 PowerShell自体はこれまでのコマンドプロンプトの上位互換で、Linuxに近い感じのコマンドが使えます。

ただ完全にLinuxのシェルを使いたいときは、後述するWSL (WIndows Subsystem for Linux)を使うのが良いです。
WSLはPowerShell上で実行可能です。ただし正確に言うとWSLをPowershell上で起動している訳ではなく、CLIとして動かせる感じです。

PowerShellの更新

デフォルトのPowerShellを開くと

新機能と改善のために最新のPowerShellをインストールしてください

と出ます。

なので

Windows PowerShell 5.1 から PowerShell 7 への移行 - PowerShell | Microsoft Learn

に従って、インストーラをダウンロードしてインストールします。

2. WSL

WSLとは

WSLとはWindows上で実際のLinuxディストリビューション(Ubuntuなど)を動かせる機能です。

最新のWSLのインストール

前述したようにWSLはPowerShell上で有効化・インストールが可能ですが、最新版のWSLをインストールする場合はMicrosoftストアからインストールする必要があります。

Windows Subsystem for Linux - Microsoft Apps

WSL環境を準備

それではPowerShellでWSLを有効化します。

スタートメニューから「PowerShell」を検索し、右クリックして「管理者として実行」を選択します。
これはWSLをインストール・設定変更するには管理者権限が必要なためです。通常の起動などでは管理者権限は不要です。

次のコマンドでWSLを有効化します。ついでにUbuntuの最新ディストリビューションもインストールされるでしょう。

> wsl --install

WSLを終了する場合は

wsl --shutdown

もう一度入りたいときは

wsl

で入れます。

バージョンの確認

先ほど最新のWSLをインストールしていれば、WSLのバージョンは次のようになります。

> wsl --version
WSL バージョン: 2.3.26.0
カーネル バージョン: 5.15.167.4-1
WSLg バージョン: 1.0.65
MSRDC バージョン: 1.2.5620
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.22631.4602

ディストリビューションの確認

ディストリビューション一覧は-lオプションで見れます。

PS C:\Users\user> wsl -l -v
  NAME              STATE           VERSION
* Ubuntu-24.04      Stopped         2
  docker-desktop    Stopped         2
  Ubuntu            Running         2

よく使うオプション

よく使うオプションは以下です。

オプション 説明
--distribution (-d) <Distribution> 指定したディストリビューションを実行します。
--terminate (-t) <Distribution> 指定したディストリビューションを終了します。
--shutdown 起動中のディストリビューションをすべて終了します。
-s <Distribution> 規定のディストリビューションを変更します。
-l [<Options...>] ディストリビューションの一覧を表示します。
-l -v ディストリビューションの詳細情報を表示します。
-l -o インストール可能なディストリビューションの一覧を表示します。
--install <Distribution> 指定したディストリビューションをインストールします。
--unregister <Distribution> ディストリビューションをアンインストールします。
--update WSLをアップデートします。

3. homebrewをインストールする

WSLでUbuntuをインストールできたらパッケージマネージャであるhomebrewをインストールします。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

ref: Homebrew — The Missing Package Manager for macOS (or Linux)

4. VS Code対応

通常はWSL上のファイルはPowerShellのようなCLIを通してでしか扱えませんが、中のコードをVS Codeで開けることが可能です。

拡張機能のインストール

Remote Development 拡張機能パックをインストールします。
この拡張機能パックには、Remote - SSH 拡張機能と Dev - Containers 拡張機能に加え、WSL 拡張機能が含まれています。
これにより、コンテナー内、リモート マシン上、または WSL 内の任意のフォルダーを開くことができます。

開く

WSLターミナル上から起動するとサーバが立ち上がって、Windows上のVS CodeからWSL上のコードにアクセスできるようになります。

$ code .
Installing VS Code Server for Linux x64 (fabdb6a30b49f79a7aba0f2ad9df9b399473380f)
Downloading: 100%
Unpacking: 100%
Unpacked 2033 files and folders to /home/jun06t/.vscode-server/bin/fabdb6a30b49f79a7aba0f2ad9df9b399473380f.
Looking for compatibility check script at /home/jun06t/.vscode-server/bin/fabdb6a30b49f79a7aba0f2ad9df9b399473380f/bin/helpers/check-requirements.sh
Running compatibility check script
Compatibility check successful (0)

その他

同じディストリビューションをインストールできるか

基本的には同じディストリビューションをインストールはできないです。
ただし自分で独自のカスタムディストリビューションを作って複製することは可能です。

まとめ

Windowsで開発できるよう、WSL環境を整える手順を説明しました。

参考