
2026/6/16
Ploigi-Webのデプロイまであと少し、という感覚になったところで表題の通りに気づきました。本来であれば初手で意識すべきことだったのでしょうが...
最初に行ったPloigi-Devの開発は、Ubuntu serverを乗せたラズパイにSSHして開発をしていました。それが今回のPloigi-WebはWindows PC上で開発していたのですが、恥ずかしながらOSが違うということを全く意識していませんでした。気づくところはいっぱいあったのに。今後の開発環境も考え、どうするかを探しているとWSL2というものにたどり着きました。
Windows Subsystem for Linux 2はWindowsの機能で、WindowsマシンでLinux環境を実行できるようにするものです。別の仮想マシンやデュアルブートを必要とせず、1台のWindows PCで開発できるようになります。
まずはWSL2をインストールするところからです。
管理者権限でPowerShellを開き以下のコマンドを実行します。
wsl --install
問題なく処理が終了したら一度再起動が必要です。
デフォルトで使用されるLinuxのディストロビューションはUbuntuが使用されるようです。自分が使用したい特定のディストロビューションがある場合、以下のコマンドで使用可能な一覧を確認できます。
その後もう一つのコマンドを、自身が指定したいものを[]部分で指定し実行してください。
/使用可可能なディストリビューション一覧表示
wsl.exe --list --online
/使用したいディストリビューションを[]で指定
wsl.exe --install [ディストリビューション名]
アカウント作成が済んだら以下のコマンドを実行し、インストールされたディストリビューションの一覧とバージョンを確認します。ディストリビューション名とバージョンが表示されれば問題なくインストールされています。

アカウント作成までが済んだら以下のコマンドを実行し、インストールされたLinuxディストリビューションの一覧とバージョンを確認します。ディストリビューション名とバージョンが表示されれば問題なくインストールされています。
wsl.exe --list --verbose次に、デフォルトのWSLバージョンを2に設定します。
wsl.exe --set-default-version 2以下のコマンドで使用するディストリビューションをデフォルトに設定して完了です。
/私の場合はwsl.exe --set-default Ubuntu-26.04
wsl.exe --set-default <Distro>ターミナルで開く場合はwslと入力し実行すると以下のようになりLinuxが使用できるようになります。
wsl
アカウント名@ユーザ名:/mnt/c/WINDOWS/system32$
最もシンプルな理由は「本番環境がLinuxだから」です。Ploigi-WebはConoha VPS(Linux)上にデプロイする予定です。開発環境と本番環境のOSが異なると、ローカルでは問題なく動いていたものが本番で突然動かなくなる、いわゆる「It works on my machine」問題が起こりやすくなります。
開発と本番の環境を揃えることで、こうした問題を未然に防ぐことができます。これが今回WSL2でLinux環境に移行しようと思った最大の理由です。
ファイルパスの区切り文字
Windowsはバックスラッシュ(`\`)、Linuxはスラッシュ(`/`)を使います。コード中でパスをハードコードしていると、環境が変わったとたんにエラーになることがあります。
改行コードの違い(CRLF vs LF)
Windowsの改行コードはCRLF(`\r\n`)、LinuxはLF(`\n`)です。Gitの設定次第では、Windows上で書いたコードをLinuxに持っていったとき、シェルスクリプトが動かなくなる原因になります。
ファイル名の大文字・小文字の区別
Windowsのファイルシステム(NTFS)は大文字・小文字を区別しません。`App.tsx`と`app.tsx`を同じファイルとして扱います。一方Linuxは厳密に区別するため、Windows上では動いていたimport文がLinuxで「ファイルが見つからない」となるケースがあります。
シェルとコマンドの違い
WindowsはデフォルトでPowerShellが使われますが、LinuxではBashが基本です。`npm scripts`の中でLinux系のコマンド(`rm -rf`など)を使っていると、Windows環境では実行できないことがあります。
WSL2のインストールが完了したら、プロジェクトをLinux環境へ移行します。ポイントは、プロジェクトのファイルをWSL2のファイルシステム(`/home/<ユーザ名>/`以下)に置くことです。
Windowsのファイルシステム(`/mnt/c/`以下)のままでも動作はしますが、ファイルI/Oのパフォーマンスが著しく低下するため、WSL2のネイティブファイルシステム上に置くことが推奨されています。
VS Codeを使っている場合は「WSL」拡張機能を導入することで、Windows側のVS CodeからWSL2内のファイルをシームレスに編集できます。コマンドは必ずWSL側のターミナルから実行することが重要で、これを怠ると権限エラーの原因になります(詳しくは別記事で紹介しています)。
Gitの設定として、改行コードの自動変換も無効化しておくと安心です。
git config --global core.autocrlf false
### おわりに
これまでWSLといえばWorld Surf Leagだったのに、ある日突然WSL=Windows Subsystem for Linuxになり、感覚が塗り替えられた瞬間でした。
WSLとはとても便利でありがたい。