WSL 2でWindowsとLinuxを統合する開発環境構築

WSL 2でWindowsとLinuxを統合する開発環境構築ガイド

WSL 2(Windows Subsystem for Linux 2)は、Windows上でLinux環境をネイティブに近い速度で動作させる仕組みです。Hyper-Vの軽量仮想マシンを利用しており、完全なLinuxカーネルが動作するため、従来のWSL(WSL 1)と比べてファイルシステム性能とシステムコールの互換性が大幅に向上しています。

WSL 2の特長:Windows上でLinuxをネイティブ動作

WSL 2を使うと、PowerShellやコマンドプロンプトから離れることなく、WSL 2(Windows Subsystem for Linux 2)公式ドキュメントにあるとおり、WindowsストアからUbuntuやDebianを数コマンドでインストールして即座に利用できます。Windowsユーザーにとって、Linuxが仮想マシンの煩雑なセットアップなしに利用できる環境が整ったことは、開発・学習の面で大きな転換点となりました。

WSL 2を使った爆速開発環境の構築ポイント

WSL 2の活用で特に効果が大きいのは、開発ツールチェーン全体をLinux側に統一できる点です。Node.js、Python、Goといったランタイムや、git、make、curl などのツールをLinux環境にインストールし、Windows側はエディタとブラウザのみという構成にすると、依存関係の管理が格段に楽になります。

WSL 2の最大の魅力:高速かつシームレスなOS連携

WSL 2の最大の魅力は、Windows上でネイティブに近い速度でLinuxが動作すること、そしてWindowsとLinuxのファイルシステムがシームレスに連携できることです。従来の仮想環境では起動に時間がかかり、OSをまたいだファイル操作も手間がかかりましたが、WSL 2ではWindowsエクスプローラーからWSL内のファイルに直接アクセスでき、LinuxターミナルからWindowsのパスを参照することも容易です。Web開発でNode.jsやPythonを使う場合、WSL 2のおかげでWindowsでVisual Studio Codeを開きつつ、バックエンドではLinuxの堅牢な開発環境が動作するという構成を手軽に実現できます。

VS CodeとDockerとの連携で効率化する開発環境

具体的なWSL 2の活用方法として、まずはVisual Studio Code(VS Code)との連携が挙げられます。VS Codeの「Remote - WSL」拡張機能を使えば、Windows側のVS Codeから直接WSL 2内のファイルを開いて編集でき、Linux環境のターミナルもVS Code上でシームレスに利用できます。詳細はVS Code Remote - WSL 公式ドキュメントを参照してください。この連携機能によりWindowsの使い慣れたGUIとLinuxの強力なCLIを組み合わせられます。また、Docker DesktopもWSL 2バックエンドをサポートしており、WindowsでDockerを使う際にWSL 2を選択するとパフォーマンスが大幅に向上します。詳しくはDocker Desktop WSL 2バックエンド公式ガイドをご覧ください。

複数ディストリビューションの併用とWSLgによるGUIアプリ

WSL 2では複数のLinuxディストリビューションを同時にインストールして使い分けられます。案件によりUbuntuとDebianを切り替えたり、異なるPythonバージョン環境を分離したりといった使い方が可能です。さらにWSL 2上でGUIアプリケーションを動作させる「WSLg」機能も利用でき、GIMPやFirefoxといったLinuxのGUIアプリをWindowsのデスクトップから直接起動できます。詳細はMicrosoft公式のWSLgチュートリアルで確認できます。また、パフォーマンスを調整したい場合はホームディレクトリに .wslconfig ファイルを作成し、[wsl2] memory=8GB のように記述することでWSL 2へのメモリ割り当てを制御できます。