Windows + WSL2で開発端末をセットアップする
この講座では、Windows 10でWSL2 (Windows Subsystem for Linux 2) を利用して開発環境をセットアップする方法を学びます。WSL2を活用することで、Linuxの豊富な開発ツールをWindows上で効率的に使用できるようになります。
1. はじめに
Windows Subsystem for Linux (WSL) は、Windows上でネイティブにLinuxコマンドラインツールとアプリケーションを実行できる機能です。
WSL2はこれをさらに進化させ、高速なファイルシステムパフォーマンスと完全なシステムコールの互換性を提供します。
2. 必要な要件
- Windows 10 バージョン1903以降(ビルド18362以上)
- インターネット接続
- 管理者権限
3. WSLの有効化
ステップ1: Windows機能の有効化
Windowsキーを押して、**「Windows の機能の有効化または無効化」**と入力して選択します。
**「Windows Subsystem for Linux」**にチェックを入れて、「OK」をクリックします。
システムの再起動を求められたら再起動します。
ステップ2: WSL2 のインストール
PowerShellを管理者として開きます。
以下のコマンドを入力して、WSL2 を既定のバージョンとして設定します。
wsl --set-default-version 2
4. Linuxディストリビューションのインストール
ステップ1: Microsoft Storeからのインストール
Microsoft Storeを開きます。
好みのLinuxディストリビューション(例:Ubuntu)を検索してインストールします。
インストールが完了したら、アプリを起動して初期セットアップ(ユーザー名とパスワードの設定)を行います。
5. WSL2 の確認
ステップ1: ディストリビューションのバージョン確認
PowerShellを開きます。
以下のコマンドを入力して、インストールされたディストリビューションのバージョンを確認します。
wsl -l -v
ステップ2: ディストリビューションを WSL2 に変更
もしディストリビューションがWSL1で動作している場合、以下のコマンドを使用してWSL2に変更します。
wsl --set-version <ディストリビューション名> 2
6. 開発環境のセットアップ
ステップ1: 必要なパッケージのインストール
WSL2上でターミナルを開き、必要なパッケージ(例:Git、Node.js、Pythonなど)をインストールします。
sudo apt update
sudo apt install -y git nodejs npm python3 python3-pip
ステップ2: Visual Studio Codeのインストール
Visual Studio Codeをインストールします(https://code.visualstudio.com/)。
Visual Studio Codeを開き、拡張機能から**「Remote - WSL」**をインストールします。
7. プロジェクトの作成と実行
ステップ1: 新しいプロジェクトの作成
WSL2ターミナルでプロジェクトディレクトリを作成します。
mkdir my-project
cd my-project
ステップ2: Visual Studio Codeでプロジェクトを開く
WSL2ターミナルで以下のコマンドを実行して、Visual Studio Codeでプロジェクトを開きます。
code .
ステップ3: サンプルアプリケーションの実行
1. プロジェクトディレクトリ内でサンプルアプリケーションを作成し、実行します。例えば、Node.jsアプリケーションを作成する場合:
npm init -y
npm install express
2. index.jsファイルを作成し、以下の内容を記述します。
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`);
});
3. 以下のコマンドでアプリケーションを実行します。
node index.js
8. トラブルシューティング
よくある問題と解決策
WSL2のインストールや設定で問題が発生した場合の解決策を記載します。
Discussion