何があったのか
VS CodeのDev Containers拡張機能には、dotfilesを自動で連携してくれる仕組みがある。
その仕組みがうまく起動せず、dotfilesを読み込んでくれなかった。
解決方法
Windows側の環境変数に、WSL上のgitへのパスを追加する。
(システム環境変数でもユーザー環境変数でもOK)
実行環境
- Windows11 (home)
- WSL2
- Ubuntu 22.04
- VS Code (1.94.2)
- devcontainer (v0.388.0)
やったこと
Ctrl+P で「Dev Containers: Show Container Log」を選択するとdevcontainerのログを見ることができる (これに気づくのにすごく時間がかかった) 。
ログを確認すると、そもそもdotfiles関連のログが一切流れていなかったので、まずはsettings.jsonを見直す。WLS上のsettings.jsonにdotfiles関連の設定を記述していたが、Windows側のVS Codeのsettings.jsonにdotfiles.repository
とdotfiles.installCommand
の設定を書いてみた。
この状態で再度コンテナを起動してログを確認すると「`git` is not found」のようなエラーが出ていた。
検索対象のパスが「C:\」から始まっていたことから、devcontainerのdotfilesではWindows側のPATH変数を見てgitを探しているらしい。
ということで、Windowsの環境変数(システム環境変数でもユーザー環境変数でもOK)にWSL上のgitへのパスを追加する。
Windows エクスプローラーでWSL上のディレクトリを参照できるので、そこからgitの配置されているディレクトリパスを調べる。
私の場合 \\wsl.localhost\Ubuntu-22.04\usr\bin
をPATHに追加すると、dotfilesを読み込んでdevcontainerを起動できた。