概要
社会人になってからほとんど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環境を整える手順を説明しました。